YES 5.829 H-Termination proof of /home/matraf/haskell/eval_FullyBlown_Fast/empty.hs
H-Termination of the given Haskell-Program with start terms could successfully be proven:



HASKELL
  ↳ CR

mainModule Main
  ((min :: Ord a => a  ->  a  ->  a) :: Ord a => a  ->  a  ->  a)

module Main where
  import qualified Prelude



Case Reductions:
The following Case expression
case compare x y of
 EQ → o
 LT → LT
 GT → GT

is transformed to
primCompAux0 o EQ = o
primCompAux0 o LT = LT
primCompAux0 o GT = GT



↳ HASKELL
  ↳ CR
HASKELL
      ↳ IFR

mainModule Main
  ((min :: Ord a => a  ->  a  ->  a) :: Ord a => a  ->  a  ->  a)

module Main where
  import qualified Prelude



If Reductions:
The following If expression
if primGEqNatS x y then Succ (primDivNatS (primMinusNatS x y) (Succ y)) else Zero

is transformed to
primDivNatS0 x y True = Succ (primDivNatS (primMinusNatS x y) (Succ y))
primDivNatS0 x y False = Zero

The following If expression
if primGEqNatS x y then primModNatS (primMinusNatS x y) (Succ y) else Succ x

is transformed to
primModNatS0 x y True = primModNatS (primMinusNatS x y) (Succ y)
primModNatS0 x y False = Succ x



↳ HASKELL
  ↳ CR
    ↳ HASKELL
      ↳ IFR
HASKELL
          ↳ BR

mainModule Main
  ((min :: Ord a => a  ->  a  ->  a) :: Ord a => a  ->  a  ->  a)

module Main where
  import qualified Prelude



Replaced joker patterns by fresh variables and removed binding patterns.

↳ HASKELL
  ↳ CR
    ↳ HASKELL
      ↳ IFR
        ↳ HASKELL
          ↳ BR
HASKELL
              ↳ COR

mainModule Main
  ((min :: Ord a => a  ->  a  ->  a) :: Ord a => a  ->  a  ->  a)

module Main where
  import qualified Prelude



Cond Reductions:
The following Function with conditions
min x y
 | x <= y
 = x
 | otherwise
 = y

is transformed to
min x y = min2 x y

min1 x y True = x
min1 x y False = min0 x y otherwise

min0 x y True = y

min2 x y = min1 x y (x <= y)

The following Function with conditions
compare x y
 | x == y
 = EQ
 | x <= y
 = LT
 | otherwise
 = GT

is transformed to
compare x y = compare3 x y

compare1 x y True = LT
compare1 x y False = compare0 x y otherwise

compare0 x y True = GT

compare2 x y True = EQ
compare2 x y False = compare1 x y (x <= y)

compare3 x y = compare2 x y (x == y)

The following Function with conditions
gcd' x 0 = x
gcd' x y = gcd' y (x `rem` y)

is transformed to
gcd' x zx = gcd'2 x zx
gcd' x y = gcd'0 x y

gcd'0 x y = gcd' y (x `rem` y)

gcd'1 True x zx = x
gcd'1 zy zz vuu = gcd'0 zz vuu

gcd'2 x zx = gcd'1 (zx == 0) x zx
gcd'2 vuv vuw = gcd'0 vuv vuw

The following Function with conditions
gcd 0 0 = error []
gcd x y = 
gcd' (abs x) (abs y)
where 
gcd' x 0 = x
gcd' x y = gcd' y (x `rem` y)

is transformed to
gcd vux vuy = gcd3 vux vuy
gcd x y = gcd0 x y

gcd0 x y = 
gcd' (abs x) (abs y)
where 
gcd' x zx = gcd'2 x zx
gcd' x y = gcd'0 x y
gcd'0 x y = gcd' y (x `rem` y)
gcd'1 True x zx = x
gcd'1 zy zz vuu = gcd'0 zz vuu
gcd'2 x zx = gcd'1 (zx == 0) x zx
gcd'2 vuv vuw = gcd'0 vuv vuw

gcd1 True vux vuy = error []
gcd1 vuz vvu vvv = gcd0 vvu vvv

gcd2 True vux vuy = gcd1 (vuy == 0) vux vuy
gcd2 vvw vvx vvy = gcd0 vvx vvy

gcd3 vux vuy = gcd2 (vux == 0) vux vuy
gcd3 vvz vwu = gcd0 vvz vwu

The following Function with conditions
absReal x
 | x >= 0
 = x
 | otherwise
 = `negate` x

is transformed to
absReal x = absReal2 x

absReal1 x True = x
absReal1 x False = absReal0 x otherwise

absReal0 x True = `negate` x

absReal2 x = absReal1 x (x >= 0)

The following Function with conditions
undefined 
 | False
 = undefined

is transformed to
undefined  = undefined1

undefined0 True = undefined

undefined1  = undefined0 False

The following Function with conditions
reduce x y
 | y == 0
 = error []
 | otherwise
 = x `quot` d :% (y `quot` d)
where 
d  = gcd x y

is transformed to
reduce x y = reduce2 x y

reduce2 x y = 
reduce1 x y (y == 0)
where 
d  = gcd x y
reduce0 x y True = x `quot` d :% (y `quot` d)
reduce1 x y True = error []
reduce1 x y False = reduce0 x y otherwise



↳ HASKELL
  ↳ CR
    ↳ HASKELL
      ↳ IFR
        ↳ HASKELL
          ↳ BR
            ↳ HASKELL
              ↳ COR
HASKELL
                  ↳ LetRed

mainModule Main
  ((min :: Ord a => a  ->  a  ->  a) :: Ord a => a  ->  a  ->  a)

module Main where
  import qualified Prelude



Let/Where Reductions:
The bindings of the following Let/Where expression
reduce1 x y (y == 0)
where 
d  = gcd x y
reduce0 x y True = x `quot` d :% (y `quot` d)
reduce1 x y True = error []
reduce1 x y False = reduce0 x y otherwise

are unpacked to the following functions on top level
reduce2Reduce1 vwv vww x y True = error []
reduce2Reduce1 vwv vww x y False = reduce2Reduce0 vwv vww x y otherwise

reduce2D vwv vww = gcd vwv vww

reduce2Reduce0 vwv vww x y True = x `quot` reduce2D vwv vww :% (y `quot` reduce2D vwv vww)

The bindings of the following Let/Where expression
gcd' (abs x) (abs y)
where 
gcd' x zx = gcd'2 x zx
gcd' x y = gcd'0 x y
gcd'0 x y = gcd' y (x `rem` y)
gcd'1 True x zx = x
gcd'1 zy zz vuu = gcd'0 zz vuu
gcd'2 x zx = gcd'1 (zx == 0) x zx
gcd'2 vuv vuw = gcd'0 vuv vuw

are unpacked to the following functions on top level
gcd0Gcd'1 True x zx = x
gcd0Gcd'1 zy zz vuu = gcd0Gcd'0 zz vuu

gcd0Gcd' x zx = gcd0Gcd'2 x zx
gcd0Gcd' x y = gcd0Gcd'0 x y

gcd0Gcd'0 x y = gcd0Gcd' y (x `rem` y)

gcd0Gcd'2 x zx = gcd0Gcd'1 (zx == 0) x zx
gcd0Gcd'2 vuv vuw = gcd0Gcd'0 vuv vuw



↳ HASKELL
  ↳ CR
    ↳ HASKELL
      ↳ IFR
        ↳ HASKELL
          ↳ BR
            ↳ HASKELL
              ↳ COR
                ↳ HASKELL
                  ↳ LetRed
HASKELL
                      ↳ NumRed

mainModule Main
  ((min :: Ord a => a  ->  a  ->  a) :: Ord a => a  ->  a  ->  a)

module Main where
  import qualified Prelude



Num Reduction: All numbers are transformed to thier corresponding representation with Pos, Neg, Succ and Zero.

↳ HASKELL
  ↳ CR
    ↳ HASKELL
      ↳ IFR
        ↳ HASKELL
          ↳ BR
            ↳ HASKELL
              ↳ COR
                ↳ HASKELL
                  ↳ LetRed
                    ↳ HASKELL
                      ↳ NumRed
HASKELL
                          ↳ Narrow

mainModule Main
  (min :: Ord a => a  ->  a  ->  a)

module Main where
  import qualified Prelude



Haskell To QDPs


↳ HASKELL
  ↳ CR
    ↳ HASKELL
      ↳ IFR
        ↳ HASKELL
          ↳ BR
            ↳ HASKELL
              ↳ COR
                ↳ HASKELL
                  ↳ LetRed
                    ↳ HASKELL
                      ↳ NumRed
                        ↳ HASKELL
                          ↳ Narrow
                            ↳ AND
QDP
                                ↳ QDPSizeChangeProof
                              ↳ QDP
                              ↳ QDP
                              ↳ QDP
                              ↳ QDP
                              ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_primEqNat(Succ(vwx10900), Succ(vwx11000)) → new_primEqNat(vwx10900, vwx11000)

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ HASKELL
  ↳ CR
    ↳ HASKELL
      ↳ IFR
        ↳ HASKELL
          ↳ BR
            ↳ HASKELL
              ↳ COR
                ↳ HASKELL
                  ↳ LetRed
                    ↳ HASKELL
                      ↳ NumRed
                        ↳ HASKELL
                          ↳ Narrow
                            ↳ AND
                              ↳ QDP
QDP
                                ↳ QDPSizeChangeProof
                              ↳ QDP
                              ↳ QDP
                              ↳ QDP
                              ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_primPlusNat(Succ(vwx27400), Succ(vwx31000)) → new_primPlusNat(vwx27400, vwx31000)

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ HASKELL
  ↳ CR
    ↳ HASKELL
      ↳ IFR
        ↳ HASKELL
          ↳ BR
            ↳ HASKELL
              ↳ COR
                ↳ HASKELL
                  ↳ LetRed
                    ↳ HASKELL
                      ↳ NumRed
                        ↳ HASKELL
                          ↳ Narrow
                            ↳ AND
                              ↳ QDP
                              ↳ QDP
QDP
                                ↳ QDPSizeChangeProof
                              ↳ QDP
                              ↳ QDP
                              ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_primMulNat(Succ(vwx4000), Succ(vwx3100)) → new_primMulNat(vwx4000, Succ(vwx3100))

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ HASKELL
  ↳ CR
    ↳ HASKELL
      ↳ IFR
        ↳ HASKELL
          ↳ BR
            ↳ HASKELL
              ↳ COR
                ↳ HASKELL
                  ↳ LetRed
                    ↳ HASKELL
                      ↳ NumRed
                        ↳ HASKELL
                          ↳ Narrow
                            ↳ AND
                              ↳ QDP
                              ↳ QDP
                              ↳ QDP
QDP
                                ↳ QDPSizeChangeProof
                              ↳ QDP
                              ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_primCmpNat(Succ(vwx3000), Succ(vwx4000)) → new_primCmpNat(vwx3000, vwx4000)

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ HASKELL
  ↳ CR
    ↳ HASKELL
      ↳ IFR
        ↳ HASKELL
          ↳ BR
            ↳ HASKELL
              ↳ COR
                ↳ HASKELL
                  ↳ LetRed
                    ↳ HASKELL
                      ↳ NumRed
                        ↳ HASKELL
                          ↳ Narrow
                            ↳ AND
                              ↳ QDP
                              ↳ QDP
                              ↳ QDP
                              ↳ QDP
QDP
                                ↳ QDPSizeChangeProof
                              ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_esEs2(@3(vwx1090, vwx1091, vwx1092), @3(vwx1100, vwx1101, vwx1102), app(app(app(ty_@3, bbc), bbd), bbe), gc, hf) → new_esEs2(vwx1090, vwx1100, bbc, bbd, bbe)
new_esEs2(@3(vwx1090, vwx1091, vwx1092), @3(vwx1100, vwx1101, vwx1102), gb, app(ty_Maybe, he), hf) → new_esEs(vwx1091, vwx1101, he)
new_esEs2(@3(vwx1090, vwx1091, vwx1092), @3(vwx1100, vwx1101, vwx1102), app(app(ty_@2, bbf), bbg), gc, hf) → new_esEs3(vwx1090, vwx1100, bbf, bbg)
new_esEs3(@2(vwx1090, vwx1091), @2(vwx1100, vwx1101), bbh, app(app(app(ty_@3, bce), bcf), bcg)) → new_esEs2(vwx1091, vwx1101, bce, bcf, bcg)
new_esEs2(@3(vwx1090, vwx1091, vwx1092), @3(vwx1100, vwx1101, vwx1102), app(app(ty_Either, bah), bba), gc, hf) → new_esEs0(vwx1090, vwx1100, bah, bba)
new_esEs1(:(vwx1090, vwx1091), :(vwx1100, vwx1101), eg) → new_esEs1(vwx1091, vwx1101, eg)
new_esEs2(@3(vwx1090, vwx1091, vwx1092), @3(vwx1100, vwx1101, vwx1102), gb, app(ty_[], baa), hf) → new_esEs1(vwx1091, vwx1101, baa)
new_esEs2(@3(vwx1090, vwx1091, vwx1092), @3(vwx1100, vwx1101, vwx1102), gb, gc, app(ty_Maybe, gd)) → new_esEs(vwx1092, vwx1102, gd)
new_esEs1(:(vwx1090, vwx1091), :(vwx1100, vwx1101), app(ty_[], fc)) → new_esEs1(vwx1090, vwx1100, fc)
new_esEs(Just(vwx1090), Just(vwx1100), app(ty_Maybe, ba)) → new_esEs(vwx1090, vwx1100, ba)
new_esEs(Just(vwx1090), Just(vwx1100), app(app(app(ty_@3, be), bf), bg)) → new_esEs2(vwx1090, vwx1100, be, bf, bg)
new_esEs3(@2(vwx1090, vwx1091), @2(vwx1100, vwx1101), bbh, app(ty_[], bcd)) → new_esEs1(vwx1091, vwx1101, bcd)
new_esEs2(@3(vwx1090, vwx1091, vwx1092), @3(vwx1100, vwx1101, vwx1102), gb, app(app(ty_@2, bae), baf), hf) → new_esEs3(vwx1091, vwx1101, bae, baf)
new_esEs0(Left(vwx1090), Left(vwx1100), app(app(app(ty_@3, cg), da), db), cc) → new_esEs2(vwx1090, vwx1100, cg, da, db)
new_esEs0(Left(vwx1090), Left(vwx1100), app(app(ty_Either, cd), ce), cc) → new_esEs0(vwx1090, vwx1100, cd, ce)
new_esEs3(@2(vwx1090, vwx1091), @2(vwx1100, vwx1101), app(ty_[], bdf), bdc) → new_esEs1(vwx1090, vwx1100, bdf)
new_esEs3(@2(vwx1090, vwx1091), @2(vwx1100, vwx1101), bbh, app(app(ty_Either, bcb), bcc)) → new_esEs0(vwx1091, vwx1101, bcb, bcc)
new_esEs2(@3(vwx1090, vwx1091, vwx1092), @3(vwx1100, vwx1101, vwx1102), app(ty_Maybe, bag), gc, hf) → new_esEs(vwx1090, vwx1100, bag)
new_esEs0(Right(vwx1090), Right(vwx1100), de, app(app(ty_Either, dg), dh)) → new_esEs0(vwx1090, vwx1100, dg, dh)
new_esEs3(@2(vwx1090, vwx1091), @2(vwx1100, vwx1101), bbh, app(app(ty_@2, bch), bda)) → new_esEs3(vwx1091, vwx1101, bch, bda)
new_esEs(Just(vwx1090), Just(vwx1100), app(app(ty_@2, bh), ca)) → new_esEs3(vwx1090, vwx1100, bh, ca)
new_esEs(Just(vwx1090), Just(vwx1100), app(app(ty_Either, bb), bc)) → new_esEs0(vwx1090, vwx1100, bb, bc)
new_esEs1(:(vwx1090, vwx1091), :(vwx1100, vwx1101), app(app(ty_@2, fh), ga)) → new_esEs3(vwx1090, vwx1100, fh, ga)
new_esEs1(:(vwx1090, vwx1091), :(vwx1100, vwx1101), app(app(ty_Either, fa), fb)) → new_esEs0(vwx1090, vwx1100, fa, fb)
new_esEs1(:(vwx1090, vwx1091), :(vwx1100, vwx1101), app(ty_Maybe, eh)) → new_esEs(vwx1090, vwx1100, eh)
new_esEs0(Right(vwx1090), Right(vwx1100), de, app(ty_[], ea)) → new_esEs1(vwx1090, vwx1100, ea)
new_esEs(Just(vwx1090), Just(vwx1100), app(ty_[], bd)) → new_esEs1(vwx1090, vwx1100, bd)
new_esEs0(Left(vwx1090), Left(vwx1100), app(ty_[], cf), cc) → new_esEs1(vwx1090, vwx1100, cf)
new_esEs0(Right(vwx1090), Right(vwx1100), de, app(ty_Maybe, df)) → new_esEs(vwx1090, vwx1100, df)
new_esEs2(@3(vwx1090, vwx1091, vwx1092), @3(vwx1100, vwx1101, vwx1102), gb, app(app(app(ty_@3, bab), bac), bad), hf) → new_esEs2(vwx1091, vwx1101, bab, bac, bad)
new_esEs0(Right(vwx1090), Right(vwx1100), de, app(app(app(ty_@3, eb), ec), ed)) → new_esEs2(vwx1090, vwx1100, eb, ec, ed)
new_esEs3(@2(vwx1090, vwx1091), @2(vwx1100, vwx1101), app(app(ty_@2, beb), bec), bdc) → new_esEs3(vwx1090, vwx1100, beb, bec)
new_esEs0(Right(vwx1090), Right(vwx1100), de, app(app(ty_@2, ee), ef)) → new_esEs3(vwx1090, vwx1100, ee, ef)
new_esEs3(@2(vwx1090, vwx1091), @2(vwx1100, vwx1101), bbh, app(ty_Maybe, bca)) → new_esEs(vwx1091, vwx1101, bca)
new_esEs2(@3(vwx1090, vwx1091, vwx1092), @3(vwx1100, vwx1101, vwx1102), gb, gc, app(ty_[], gg)) → new_esEs1(vwx1092, vwx1102, gg)
new_esEs3(@2(vwx1090, vwx1091), @2(vwx1100, vwx1101), app(app(app(ty_@3, bdg), bdh), bea), bdc) → new_esEs2(vwx1090, vwx1100, bdg, bdh, bea)
new_esEs2(@3(vwx1090, vwx1091, vwx1092), @3(vwx1100, vwx1101, vwx1102), gb, gc, app(app(ty_@2, hc), hd)) → new_esEs3(vwx1092, vwx1102, hc, hd)
new_esEs2(@3(vwx1090, vwx1091, vwx1092), @3(vwx1100, vwx1101, vwx1102), gb, app(app(ty_Either, hg), hh), hf) → new_esEs0(vwx1091, vwx1101, hg, hh)
new_esEs3(@2(vwx1090, vwx1091), @2(vwx1100, vwx1101), app(app(ty_Either, bdd), bde), bdc) → new_esEs0(vwx1090, vwx1100, bdd, bde)
new_esEs2(@3(vwx1090, vwx1091, vwx1092), @3(vwx1100, vwx1101, vwx1102), app(ty_[], bbb), gc, hf) → new_esEs1(vwx1090, vwx1100, bbb)
new_esEs1(:(vwx1090, vwx1091), :(vwx1100, vwx1101), app(app(app(ty_@3, fd), ff), fg)) → new_esEs2(vwx1090, vwx1100, fd, ff, fg)
new_esEs0(Left(vwx1090), Left(vwx1100), app(ty_Maybe, cb), cc) → new_esEs(vwx1090, vwx1100, cb)
new_esEs2(@3(vwx1090, vwx1091, vwx1092), @3(vwx1100, vwx1101, vwx1102), gb, gc, app(app(ty_Either, ge), gf)) → new_esEs0(vwx1092, vwx1102, ge, gf)
new_esEs0(Left(vwx1090), Left(vwx1100), app(app(ty_@2, dc), dd), cc) → new_esEs3(vwx1090, vwx1100, dc, dd)
new_esEs2(@3(vwx1090, vwx1091, vwx1092), @3(vwx1100, vwx1101, vwx1102), gb, gc, app(app(app(ty_@3, gh), ha), hb)) → new_esEs2(vwx1092, vwx1102, gh, ha, hb)
new_esEs3(@2(vwx1090, vwx1091), @2(vwx1100, vwx1101), app(ty_Maybe, bdb), bdc) → new_esEs(vwx1090, vwx1100, bdb)

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ HASKELL
  ↳ CR
    ↳ HASKELL
      ↳ IFR
        ↳ HASKELL
          ↳ BR
            ↳ HASKELL
              ↳ COR
                ↳ HASKELL
                  ↳ LetRed
                    ↳ HASKELL
                      ↳ NumRed
                        ↳ HASKELL
                          ↳ Narrow
                            ↳ AND
                              ↳ QDP
                              ↳ QDP
                              ↳ QDP
                              ↳ QDP
                              ↳ QDP
QDP
                                ↳ DependencyGraphProof

Q DP problem:
The TRS P consists of the following rules:

new_ltEs1(@3(vwx300, vwx301, vwx302), @3(vwx400, vwx401, vwx402), eg, app(app(ty_Either, ge), gf), gd) → new_lt0(vwx301, vwx401, ge, gf)
new_ltEs2(@2(vwx300, vwx301), @2(vwx400, vwx401), app(ty_Maybe, bbh), bca) → new_lt(vwx300, vwx400, bbh)
new_ltEs0(Left(vwx300), Left(vwx400), app(ty_[], dd), cc) → new_ltEs3(vwx300, vwx400, dd)
new_ltEs2(@2(vwx300, vwx301), @2(vwx400, vwx401), app(app(ty_@2, bcg), bch), bca) → new_lt2(vwx300, vwx400, bcg, bch)
new_ltEs2(@2(vwx300, vwx301), @2(vwx400, vwx401), app(ty_[], bda), bca) → new_lt3(vwx300, vwx400, bda)
new_ltEs1(@3(vwx300, vwx301, vwx302), @3(vwx400, vwx401, vwx402), eg, app(app(app(ty_@3, gg), gh), ha), gd) → new_lt1(vwx301, vwx401, gg, gh, ha)
new_ltEs2(@2(vwx300, vwx301), @2(vwx400, vwx401), baf, app(ty_Maybe, bag)) → new_ltEs(vwx301, vwx401, bag)
new_lt(Just(vwx300), Just(vwx400), bgg) → new_compare20(Just(vwx300), Just(vwx400), new_esEs8(vwx300, vwx400, bgg), bgg)
new_primCompAux(vwx300, vwx400, vwx301, vwx401, app(app(app(ty_@3, bdg), bdh), bea)) → new_compare2(vwx300, vwx400, bdg, bdh, bea)
new_ltEs1(@3(vwx300, vwx301, vwx302), @3(vwx400, vwx401, vwx402), eg, eh, app(ty_[], gb)) → new_ltEs3(vwx302, vwx402, gb)
new_lt3(:(vwx300, vwx301), :(vwx400, vwx401), app(app(ty_Either, bde), bdf)) → new_compare1(vwx300, vwx400, bde, bdf)
new_ltEs(Just(vwx300), Just(vwx400), app(app(ty_Either, bb), bc)) → new_ltEs0(vwx300, vwx400, bb, bc)
new_ltEs1(@3(vwx300, vwx301, vwx302), @3(vwx400, vwx401, vwx402), app(ty_Maybe, he), eh, gd) → new_lt(vwx300, vwx400, he)
new_ltEs1(@3(vwx300, vwx301, vwx302), @3(vwx400, vwx401, vwx402), eg, eh, app(app(ty_@2, fh), ga)) → new_ltEs2(vwx302, vwx402, fh, ga)
new_ltEs3(:(vwx300, vwx301), :(vwx400, vwx401), bdb) → new_primCompAux(vwx300, vwx400, vwx301, vwx401, bdb)
new_primCompAux0(vwx176, vwx177, EQ, app(app(app(ty_@3, beh), bfa), bfb)) → new_compare2(vwx176, vwx177, beh, bfa, bfb)
new_ltEs2(@2(vwx300, vwx301), @2(vwx400, vwx401), app(app(ty_Either, bcb), bcc), bca) → new_lt0(vwx300, vwx400, bcb, bcc)
new_compare21(vwx30, vwx40, False, bfg, bfh) → new_ltEs0(vwx30, vwx40, bfg, bfh)
new_lt3(:(vwx300, vwx301), :(vwx400, vwx401), app(app(ty_@2, beb), bec)) → new_compare3(vwx300, vwx400, beb, bec)
new_ltEs(Just(vwx300), Just(vwx400), app(app(app(ty_@3, bd), be), bf)) → new_ltEs1(vwx300, vwx400, bd, be, bf)
new_lt(Nothing, Just(vwx400), bgg) → new_compare20(Nothing, Just(vwx400), False, bgg)
new_lt(Just(vwx300), Nothing, bgg) → new_compare20(Just(vwx300), Nothing, False, bgg)
new_ltEs1(@3(vwx300, vwx301, vwx302), @3(vwx400, vwx401, vwx402), app(ty_[], bae), eh, gd) → new_lt3(vwx300, vwx400, bae)
new_ltEs0(Left(vwx300), Left(vwx400), app(app(ty_Either, cd), ce), cc) → new_ltEs0(vwx300, vwx400, cd, ce)
new_primCompAux(vwx300, vwx400, vwx301, vwx401, app(app(ty_@2, beb), bec)) → new_compare3(vwx300, vwx400, beb, bec)
new_ltEs(Just(vwx300), Just(vwx400), app(ty_Maybe, ba)) → new_ltEs(vwx300, vwx400, ba)
new_ltEs1(@3(vwx300, vwx301, vwx302), @3(vwx400, vwx401, vwx402), app(app(ty_Either, hf), hg), eh, gd) → new_lt0(vwx300, vwx400, hf, hg)
new_ltEs1(@3(vwx300, vwx301, vwx302), @3(vwx400, vwx401, vwx402), eg, app(app(ty_@2, hb), hc), gd) → new_lt2(vwx301, vwx401, hb, hc)
new_ltEs2(@2(vwx300, vwx301), @2(vwx400, vwx401), baf, app(ty_[], bbg)) → new_ltEs3(vwx301, vwx401, bbg)
new_lt2(@2(vwx300, vwx301), @2(vwx400, vwx401), bhe, bhf) → new_compare23(@2(vwx300, vwx301), @2(vwx400, vwx401), new_asAs(new_esEs15(vwx300, vwx400, bhe), new_esEs14(vwx301, vwx401, bhf)), bhe, bhf)
new_ltEs(Just(vwx300), Just(vwx400), app(app(ty_@2, bg), bh)) → new_ltEs2(vwx300, vwx400, bg, bh)
new_compare4(:(vwx300, vwx301), :(vwx400, vwx401), bgf) → new_primCompAux(vwx300, vwx400, vwx301, vwx401, bgf)
new_primCompAux0(vwx176, vwx177, EQ, app(ty_[], bfe)) → new_compare4(vwx176, vwx177, bfe)
new_ltEs(Just(vwx300), Just(vwx400), app(ty_[], ca)) → new_ltEs3(vwx300, vwx400, ca)
new_lt(Nothing, Nothing, bgg) → new_compare20(Nothing, Nothing, True, bgg)
new_primCompAux0(vwx176, vwx177, EQ, app(ty_Maybe, bee)) → new_compare0(vwx176, vwx177, bee)
new_primCompAux0(vwx176, vwx177, EQ, app(app(ty_Either, bef), beg)) → new_compare1(vwx176, vwx177, bef, beg)
new_compare1(vwx30, vwx40, bfg, bfh) → new_compare21(vwx30, vwx40, new_esEs5(vwx30, vwx40, bfg, bfh), bfg, bfh)
new_ltEs1(@3(vwx300, vwx301, vwx302), @3(vwx400, vwx401, vwx402), eg, eh, app(app(ty_Either, fb), fc)) → new_ltEs0(vwx302, vwx402, fb, fc)
new_lt3(:(vwx300, vwx301), :(vwx400, vwx401), bdc) → new_primCompAux0(vwx301, vwx401, new_compare(vwx300, vwx400, bdc), app(ty_[], bdc))
new_ltEs0(Left(vwx300), Left(vwx400), app(ty_Maybe, cb), cc) → new_ltEs(vwx300, vwx400, cb)
new_compare22(vwx30, vwx40, False, bga, bgb, bgc) → new_ltEs1(vwx30, vwx40, bga, bgb, bgc)
new_lt3(:(vwx300, vwx301), :(vwx400, vwx401), app(ty_Maybe, bdd)) → new_compare0(vwx300, vwx400, bdd)
new_compare2(vwx30, vwx40, bga, bgb, bgc) → new_compare22(vwx30, vwx40, new_esEs6(vwx30, vwx40, bga, bgb, bgc), bga, bgb, bgc)
new_ltEs0(Right(vwx300), Right(vwx400), de, app(app(ty_Either, dg), dh)) → new_ltEs0(vwx300, vwx400, dg, dh)
new_lt3(:(vwx300, vwx301), :(vwx400, vwx401), app(app(app(ty_@3, bdg), bdh), bea)) → new_compare2(vwx300, vwx400, bdg, bdh, bea)
new_ltEs0(Right(vwx300), Right(vwx400), de, app(ty_[], ef)) → new_ltEs3(vwx300, vwx400, ef)
new_ltEs1(@3(vwx300, vwx301, vwx302), @3(vwx400, vwx401, vwx402), eg, app(ty_Maybe, gc), gd) → new_lt(vwx301, vwx401, gc)
new_ltEs2(@2(vwx300, vwx301), @2(vwx400, vwx401), baf, app(app(app(ty_@3, bbb), bbc), bbd)) → new_ltEs1(vwx301, vwx401, bbb, bbc, bbd)
new_ltEs2(@2(vwx300, vwx301), @2(vwx400, vwx401), baf, app(app(ty_@2, bbe), bbf)) → new_ltEs2(vwx301, vwx401, bbe, bbf)
new_ltEs0(Left(vwx300), Left(vwx400), app(app(ty_@2, db), dc), cc) → new_ltEs2(vwx300, vwx400, db, dc)
new_compare0(vwx30, vwx40, bff) → new_compare20(vwx30, vwx40, new_esEs4(vwx30, vwx40, bff), bff)
new_ltEs1(@3(vwx300, vwx301, vwx302), @3(vwx400, vwx401, vwx402), eg, app(ty_[], hd), gd) → new_lt3(vwx301, vwx401, hd)
new_ltEs0(Right(vwx300), Right(vwx400), de, app(ty_Maybe, df)) → new_ltEs(vwx300, vwx400, df)
new_compare23(vwx30, vwx40, False, bgd, bge) → new_ltEs2(vwx30, vwx40, bgd, bge)
new_primCompAux(vwx300, vwx400, vwx301, vwx401, app(ty_[], bed)) → new_compare4(vwx300, vwx400, bed)
new_ltEs1(@3(vwx300, vwx301, vwx302), @3(vwx400, vwx401, vwx402), eg, eh, app(ty_Maybe, fa)) → new_ltEs(vwx302, vwx402, fa)
new_ltEs0(Right(vwx300), Right(vwx400), de, app(app(ty_@2, ed), ee)) → new_ltEs2(vwx300, vwx400, ed, ee)
new_ltEs1(@3(vwx300, vwx301, vwx302), @3(vwx400, vwx401, vwx402), eg, eh, app(app(app(ty_@3, fd), ff), fg)) → new_ltEs1(vwx302, vwx402, fd, ff, fg)
new_ltEs2(@2(vwx300, vwx301), @2(vwx400, vwx401), app(app(app(ty_@3, bcd), bce), bcf), bca) → new_lt1(vwx300, vwx400, bcd, bce, bcf)
new_ltEs2(@2(vwx300, vwx301), @2(vwx400, vwx401), baf, app(app(ty_Either, bah), bba)) → new_ltEs0(vwx301, vwx401, bah, bba)
new_lt0(Left(vwx300), Right(vwx400), bgh, bha) → new_compare21(Left(vwx300), Right(vwx400), False, bgh, bha)
new_lt0(Right(vwx300), Left(vwx400), bgh, bha) → new_compare21(Right(vwx300), Left(vwx400), False, bgh, bha)
new_primCompAux0(vwx176, vwx177, EQ, app(app(ty_@2, bfc), bfd)) → new_compare3(vwx176, vwx177, bfc, bfd)
new_lt1(@3(vwx300, vwx301, vwx302), @3(vwx400, vwx401, vwx402), bhb, bhc, bhd) → new_compare22(@3(vwx300, vwx301, vwx302), @3(vwx400, vwx401, vwx402), new_asAs(new_esEs13(vwx300, vwx400, bhb), new_asAs(new_esEs12(vwx301, vwx401, bhc), new_esEs11(vwx302, vwx402, bhd))), bhb, bhc, bhd)
new_ltEs0(Left(vwx300), Left(vwx400), app(app(app(ty_@3, cf), cg), da), cc) → new_ltEs1(vwx300, vwx400, cf, cg, da)
new_primCompAux(vwx300, vwx400, vwx301, vwx401, app(app(ty_Either, bde), bdf)) → new_compare1(vwx300, vwx400, bde, bdf)
new_primCompAux(vwx300, vwx400, vwx301, vwx401, bdc) → new_primCompAux0(vwx301, vwx401, new_compare(vwx300, vwx400, bdc), app(ty_[], bdc))
new_ltEs1(@3(vwx300, vwx301, vwx302), @3(vwx400, vwx401, vwx402), app(app(ty_@2, bac), bad), eh, gd) → new_lt2(vwx300, vwx400, bac, bad)
new_compare3(vwx30, vwx40, bgd, bge) → new_compare23(vwx30, vwx40, new_esEs7(vwx30, vwx40, bgd, bge), bgd, bge)
new_lt0(Right(vwx300), Right(vwx400), bgh, bha) → new_compare21(Right(vwx300), Right(vwx400), new_esEs10(vwx300, vwx400, bha), bgh, bha)
new_lt3(:(vwx300, vwx301), :(vwx400, vwx401), app(ty_[], bed)) → new_compare4(vwx300, vwx400, bed)
new_ltEs1(@3(vwx300, vwx301, vwx302), @3(vwx400, vwx401, vwx402), app(app(app(ty_@3, hh), baa), bab), eh, gd) → new_lt1(vwx300, vwx400, hh, baa, bab)
new_lt0(Left(vwx300), Left(vwx400), bgh, bha) → new_compare21(Left(vwx300), Left(vwx400), new_esEs9(vwx300, vwx400, bgh), bgh, bha)
new_primCompAux(vwx300, vwx400, vwx301, vwx401, app(ty_Maybe, bdd)) → new_compare0(vwx300, vwx400, bdd)
new_compare20(vwx30, vwx40, False, bff) → new_ltEs(vwx30, vwx40, bff)
new_ltEs0(Right(vwx300), Right(vwx400), de, app(app(app(ty_@3, ea), eb), ec)) → new_ltEs1(vwx300, vwx400, ea, eb, ec)

The TRS R consists of the following rules:

new_esEs4(Just(vwx1090), Just(vwx1100), app(ty_Maybe, eea)) → new_esEs4(vwx1090, vwx1100, eea)
new_esEs31(vwx1091, vwx1101, app(ty_Ratio, dcb)) → new_esEs24(vwx1091, vwx1101, dcb)
new_esEs10(vwx300, vwx400, ty_Integer) → new_esEs20(vwx300, vwx400)
new_primCompAux00(vwx176, vwx177, EQ, app(app(ty_@2, bfc), bfd)) → new_compare18(vwx176, vwx177, bfc, bfd)
new_esEs13(vwx300, vwx400, ty_Double) → new_esEs21(vwx300, vwx400)
new_esEs32(vwx1090, vwx1100, app(ty_Ratio, ddd)) → new_esEs24(vwx1090, vwx1100, ddd)
new_esEs38(vwx1090, vwx1100, ty_@0) → new_esEs19(vwx1090, vwx1100)
new_lt16(Nothing, Nothing, bgg) → new_esEs16(new_compare28(Nothing, Nothing, True, bgg), LT)
new_esEs16(EQ, GT) → False
new_esEs16(GT, EQ) → False
new_ltEs10(Left(vwx300), Left(vwx400), ty_Integer, cc) → new_ltEs13(vwx300, vwx400)
new_esEs15(vwx300, vwx400, app(app(ty_@2, daf), dag)) → new_esEs7(vwx300, vwx400, daf, dag)
new_esEs26(vwx109, vwx110, ty_Bool) → new_esEs18(vwx109, vwx110)
new_lt5(Neg(Zero), Pos(Succ(vwx4000))) → new_esEs16(LT, LT)
new_lt7(@2(vwx300, vwx301), @2(vwx400, vwx401), bhe, bhf) → new_esEs16(new_compare25(@2(vwx300, vwx301), @2(vwx400, vwx401), new_asAs(new_esEs15(vwx300, vwx400, bhe), new_esEs14(vwx301, vwx401, bhf)), bhe, bhf), LT)
new_esEs28(vwx30, vwx40) → new_esEs16(new_primCmpInt(vwx30, vwx40), GT)
new_ltEs4(Just(vwx300), Just(vwx400), app(app(app(ty_@3, bd), be), bf)) → new_ltEs11(vwx300, vwx400, bd, be, bf)
new_lt20(vwx300, vwx400, app(ty_[], bda)) → new_lt18(vwx300, vwx400, bda)
new_esEs17(Char(vwx1090), Char(vwx1100)) → new_primEqNat0(vwx1090, vwx1100)
new_ltEs18(vwx302, vwx402, app(ty_[], gb)) → new_ltEs15(vwx302, vwx402, gb)
new_ltEs10(Right(vwx300), Right(vwx400), de, ty_Int) → new_ltEs17(vwx300, vwx400)
new_ltEs10(Left(vwx300), Right(vwx400), de, cc) → True
new_compare(vwx300, vwx400, ty_Char) → new_compare9(vwx300, vwx400)
new_ltEs18(vwx302, vwx402, app(ty_Maybe, fa)) → new_ltEs4(vwx302, vwx402, fa)
new_lt12(vwx301, vwx401, ty_Ordering) → new_lt14(vwx301, vwx401)
new_esEs9(vwx300, vwx400, ty_Int) → new_esEs25(vwx300, vwx400)
new_compare10(vwx30, vwx40, True, bgd, bge) → LT
new_esEs34(vwx1091, vwx1101, ty_Bool) → new_esEs18(vwx1091, vwx1101)
new_esEs4(Nothing, Just(vwx1100), ccf) → False
new_esEs4(Just(vwx1090), Nothing, ccf) → False
new_esEs4(Just(vwx1090), Just(vwx1100), ty_Char) → new_esEs17(vwx1090, vwx1100)
new_esEs14(vwx301, vwx401, app(app(app(ty_@3, cgh), cha), chb)) → new_esEs6(vwx301, vwx401, cgh, cha, chb)
new_lt16(Just(vwx300), Just(vwx400), bgg) → new_esEs16(new_compare28(Just(vwx300), Just(vwx400), new_esEs8(vwx300, vwx400, bgg), bgg), LT)
new_ltEs10(Right(vwx300), Right(vwx400), de, app(ty_Ratio, dea)) → new_ltEs9(vwx300, vwx400, dea)
new_ltEs17(vwx30, vwx40) → new_not(new_esEs28(vwx30, vwx40))
new_esEs10(vwx300, vwx400, ty_@0) → new_esEs19(vwx300, vwx400)
new_compare31(vwx30, vwx40) → new_primCmpFloat(vwx30, vwx40)
new_esEs13(vwx300, vwx400, ty_Integer) → new_esEs20(vwx300, vwx400)
new_esEs15(vwx300, vwx400, ty_Float) → new_esEs23(vwx300, vwx400)
new_esEs10(vwx300, vwx400, ty_Float) → new_esEs23(vwx300, vwx400)
new_esEs13(vwx300, vwx400, app(ty_Ratio, dhe)) → new_esEs24(vwx300, vwx400, dhe)
new_esEs26(vwx109, vwx110, ty_Integer) → new_esEs20(vwx109, vwx110)
new_esEs11(vwx302, vwx402, app(app(ty_@2, dfb), dfc)) → new_esEs7(vwx302, vwx402, dfb, dfc)
new_lt13(vwx300, vwx400, app(ty_[], bae)) → new_lt18(vwx300, vwx400, bae)
new_primMulNat0(Zero, Zero) → Zero
new_lt12(vwx301, vwx401, app(ty_[], hd)) → new_lt18(vwx301, vwx401, hd)
new_esEs34(vwx1091, vwx1101, ty_@0) → new_esEs19(vwx1091, vwx1101)
new_esEs26(vwx109, vwx110, app(ty_[], cda)) → new_esEs22(vwx109, vwx110, cda)
new_esEs4(Just(vwx1090), Just(vwx1100), app(app(app(ty_@3, eee), eef), eeg)) → new_esEs6(vwx1090, vwx1100, eee, eef, eeg)
new_esEs35(vwx1090, vwx1100, ty_@0) → new_esEs19(vwx1090, vwx1100)
new_esEs26(vwx109, vwx110, ty_@0) → new_esEs19(vwx109, vwx110)
new_lt14(EQ, GT) → new_esEs16(new_compare26(EQ, GT, False), LT)
new_lt14(GT, EQ) → new_esEs16(new_compare26(GT, EQ, False), LT)
new_lt14(LT, EQ) → new_esEs16(new_compare26(LT, EQ, False), LT)
new_lt14(EQ, LT) → new_esEs16(new_compare26(EQ, LT, False), LT)
new_esEs20(Integer(vwx1090), Integer(vwx1100)) → new_primEqInt(vwx1090, vwx1100)
new_esEs34(vwx1091, vwx1101, app(app(ty_Either, ebc), ebd)) → new_esEs5(vwx1091, vwx1101, ebc, ebd)
new_ltEs14(False, True) → True
new_esEs10(vwx300, vwx400, ty_Int) → new_esEs25(vwx300, vwx400)
new_esEs35(vwx1090, vwx1100, app(app(ty_@2, edd), ede)) → new_esEs7(vwx1090, vwx1100, edd, ede)
new_esEs11(vwx302, vwx402, app(ty_Ratio, dfa)) → new_esEs24(vwx302, vwx402, dfa)
new_esEs38(vwx1090, vwx1100, app(ty_[], efg)) → new_esEs22(vwx1090, vwx1100, efg)
new_esEs13(vwx300, vwx400, ty_Char) → new_esEs17(vwx300, vwx400)
new_compare9(vwx30, vwx40) → new_primCmpChar(vwx30, vwx40)
new_ltEs19(vwx301, vwx401, ty_@0) → new_ltEs7(vwx301, vwx401)
new_ltEs18(vwx302, vwx402, app(ty_Ratio, edf)) → new_ltEs9(vwx302, vwx402, edf)
new_esEs32(vwx1090, vwx1100, ty_Ordering) → new_esEs16(vwx1090, vwx1100)
new_esEs31(vwx1091, vwx1101, ty_Char) → new_esEs17(vwx1091, vwx1101)
new_esEs34(vwx1091, vwx1101, app(app(app(ty_@3, ebf), ebg), ebh)) → new_esEs6(vwx1091, vwx1101, ebf, ebg, ebh)
new_ltEs10(Right(vwx300), Right(vwx400), de, ty_Bool) → new_ltEs14(vwx300, vwx400)
new_esEs15(vwx300, vwx400, ty_Char) → new_esEs17(vwx300, vwx400)
new_ltEs10(Left(vwx300), Left(vwx400), app(ty_[], dd), cc) → new_ltEs15(vwx300, vwx400, dd)
new_esEs12(vwx301, vwx401, app(ty_Ratio, dgc)) → new_esEs24(vwx301, vwx401, dgc)
new_ltEs18(vwx302, vwx402, ty_Char) → new_ltEs8(vwx302, vwx402)
new_lt8(Integer(vwx300), Integer(vwx400)) → new_esEs16(new_primCmpInt(vwx300, vwx400), LT)
new_lt12(vwx301, vwx401, ty_Bool) → new_lt17(vwx301, vwx401)
new_esEs13(vwx300, vwx400, ty_Float) → new_esEs23(vwx300, vwx400)
new_esEs11(vwx302, vwx402, ty_Bool) → new_esEs18(vwx302, vwx402)
new_compare28(vwx30, vwx40, False, bff) → new_compare13(vwx30, vwx40, new_ltEs4(vwx30, vwx40, bff), bff)
new_esEs35(vwx1090, vwx1100, ty_Float) → new_esEs23(vwx1090, vwx1100)
new_esEs38(vwx1090, vwx1100, app(app(ty_@2, egd), ege)) → new_esEs7(vwx1090, vwx1100, egd, ege)
new_ltEs19(vwx301, vwx401, app(ty_Maybe, bag)) → new_ltEs4(vwx301, vwx401, bag)
new_esEs26(vwx109, vwx110, app(ty_Maybe, ccf)) → new_esEs4(vwx109, vwx110, ccf)
new_esEs5(Left(vwx1090), Left(vwx1100), ty_Double, cch) → new_esEs21(vwx1090, vwx1100)
new_primCompAux00(vwx176, vwx177, EQ, ty_Integer) → new_compare19(vwx176, vwx177)
new_lt13(vwx300, vwx400, ty_@0) → new_lt15(vwx300, vwx400)
new_lt11(@3(vwx300, vwx301, vwx302), @3(vwx400, vwx401, vwx402), bhb, bhc, bhd) → new_esEs16(new_compare27(@3(vwx300, vwx301, vwx302), @3(vwx400, vwx401, vwx402), new_asAs(new_esEs13(vwx300, vwx400, bhb), new_asAs(new_esEs12(vwx301, vwx401, bhc), new_esEs11(vwx302, vwx402, bhd))), bhb, bhc, bhd), LT)
new_esEs34(vwx1091, vwx1101, app(app(ty_@2, ecb), ecc)) → new_esEs7(vwx1091, vwx1101, ecb, ecc)
new_esEs39([], :(vwx400, vwx401), bdb) → new_esEs16(LT, GT)
new_esEs5(Left(vwx1090), Left(vwx1100), ty_@0, cch) → new_esEs19(vwx1090, vwx1100)
new_esEs5(Right(vwx1090), Right(vwx1100), ccg, app(app(app(ty_@3, cff), cfg), cfh)) → new_esEs6(vwx1090, vwx1100, cff, cfg, cfh)
new_esEs31(vwx1091, vwx1101, ty_Double) → new_esEs21(vwx1091, vwx1101)
new_ltEs19(vwx301, vwx401, ty_Float) → new_ltEs16(vwx301, vwx401)
new_ltEs10(Left(vwx300), Left(vwx400), app(app(ty_@2, db), dc), cc) → new_ltEs12(vwx300, vwx400, db, dc)
new_ltEs10(Right(vwx300), Right(vwx400), de, ty_Double) → new_ltEs5(vwx300, vwx400)
new_esEs8(vwx300, vwx400, app(ty_[], eha)) → new_esEs22(vwx300, vwx400, eha)
new_esEs32(vwx1090, vwx1100, ty_Float) → new_esEs23(vwx1090, vwx1100)
new_esEs24(:%(vwx1090, vwx1091), :%(vwx1100, vwx1101), cde) → new_asAs(new_esEs30(vwx1090, vwx1100, cde), new_esEs29(vwx1091, vwx1101, cde))
new_esEs15(vwx300, vwx400, app(app(ty_Either, chg), chh)) → new_esEs5(vwx300, vwx400, chg, chh)
new_compare(vwx300, vwx400, ty_Bool) → new_compare29(vwx300, vwx400)
new_primCompAux00(vwx176, vwx177, EQ, ty_@0) → new_compare8(vwx176, vwx177)
new_compare(vwx300, vwx400, app(app(ty_Either, bde), bdf)) → new_compare16(vwx300, vwx400, bde, bdf)
new_esEs13(vwx300, vwx400, app(ty_Maybe, dgf)) → new_esEs4(vwx300, vwx400, dgf)
new_primCompAux00(vwx176, vwx177, EQ, app(app(app(ty_@3, beh), bfa), bfb)) → new_compare17(vwx176, vwx177, beh, bfa, bfb)
new_esEs33(vwx1092, vwx1102, app(app(app(ty_@3, ead), eae), eaf)) → new_esEs6(vwx1092, vwx1102, ead, eae, eaf)
new_esEs9(vwx300, vwx400, ty_Bool) → new_esEs18(vwx300, vwx400)
new_esEs29(vwx1091, vwx1101, ty_Int) → new_esEs25(vwx1091, vwx1101)
new_lt13(vwx300, vwx400, ty_Int) → new_lt5(vwx300, vwx400)
new_esEs38(vwx1090, vwx1100, ty_Char) → new_esEs17(vwx1090, vwx1100)
new_ltEs4(Nothing, Just(vwx400), bhg) → True
new_ltEs10(Left(vwx300), Left(vwx400), app(ty_Ratio, ddh), cc) → new_ltEs9(vwx300, vwx400, ddh)
new_ltEs4(Just(vwx300), Just(vwx400), ty_@0) → new_ltEs7(vwx300, vwx400)
new_lt13(vwx300, vwx400, ty_Integer) → new_lt8(vwx300, vwx400)
new_esEs14(vwx301, vwx401, app(ty_Ratio, chc)) → new_esEs24(vwx301, vwx401, chc)
new_lt14(EQ, EQ) → new_esEs16(new_compare26(EQ, EQ, True), LT)
new_esEs10(vwx300, vwx400, ty_Char) → new_esEs17(vwx300, vwx400)
new_ltEs6(GT, EQ) → False
new_lt13(vwx300, vwx400, ty_Ordering) → new_lt14(vwx300, vwx400)
new_ltEs10(Left(vwx300), Left(vwx400), app(app(ty_Either, cd), ce), cc) → new_ltEs10(vwx300, vwx400, cd, ce)
new_esEs14(vwx301, vwx401, app(app(ty_@2, chd), che)) → new_esEs7(vwx301, vwx401, chd, che)
new_esEs34(vwx1091, vwx1101, ty_Integer) → new_esEs20(vwx1091, vwx1101)
new_ltEs18(vwx302, vwx402, app(app(ty_Either, fb), fc)) → new_ltEs10(vwx302, vwx402, fb, fc)
new_primCompAux00(vwx176, vwx177, EQ, ty_Float) → new_compare31(vwx176, vwx177)
new_esEs39(:(vwx300, vwx301), :(vwx400, vwx401), bdb) → new_esEs16(new_primCompAux1(vwx300, vwx400, vwx301, vwx401, bdb), GT)
new_compare33(vwx300, vwx401, vwx400, vwx301, ty_Integer) → new_compare19(new_sr0(vwx300, vwx401), new_sr0(vwx400, vwx301))
new_esEs13(vwx300, vwx400, ty_Bool) → new_esEs18(vwx300, vwx400)
new_lt20(vwx300, vwx400, app(ty_Maybe, bbh)) → new_lt16(vwx300, vwx400, bbh)
new_lt20(vwx300, vwx400, app(app(ty_@2, bcg), bch)) → new_lt7(vwx300, vwx400, bcg, bch)
new_esEs5(Left(vwx1090), Left(vwx1100), app(ty_Maybe, cdh), cch) → new_esEs4(vwx1090, vwx1100, cdh)
new_lt5(Neg(Succ(vwx3000)), Pos(vwx400)) → new_esEs16(LT, LT)
new_compare(vwx300, vwx400, ty_Float) → new_compare31(vwx300, vwx400)
new_lt12(vwx301, vwx401, ty_Integer) → new_lt8(vwx301, vwx401)
new_ltEs10(Left(vwx300), Left(vwx400), ty_Int, cc) → new_ltEs17(vwx300, vwx400)
new_compare14(vwx30, vwx40, bff) → new_compare28(vwx30, vwx40, new_esEs4(vwx30, vwx40, bff), bff)
new_esEs32(vwx1090, vwx1100, app(ty_Maybe, dce)) → new_esEs4(vwx1090, vwx1100, dce)
new_esEs5(Right(vwx1090), Right(vwx1100), ccg, ty_Char) → new_esEs17(vwx1090, vwx1100)
new_primCompAux00(vwx176, vwx177, EQ, app(ty_Maybe, bee)) → new_compare14(vwx176, vwx177, bee)
new_primCompAux00(vwx176, vwx177, EQ, app(ty_[], bfe)) → new_compare30(vwx176, vwx177, bfe)
new_primCmpNat0(Zero, Succ(vwx4000)) → LT
new_ltEs10(Left(vwx300), Left(vwx400), ty_Bool, cc) → new_ltEs14(vwx300, vwx400)
new_lt12(vwx301, vwx401, ty_Double) → new_lt9(vwx301, vwx401)
new_compare7(vwx30, vwx40) → new_compare26(vwx30, vwx40, new_esEs16(vwx30, vwx40))
new_esEs5(Left(vwx1090), Left(vwx1100), app(ty_Ratio, ceg), cch) → new_esEs24(vwx1090, vwx1100, ceg)
new_compare6(vwx30, vwx40) → new_primCmpDouble(vwx30, vwx40)
new_esEs26(vwx109, vwx110, ty_Double) → new_esEs21(vwx109, vwx110)
new_ltEs4(Just(vwx300), Just(vwx400), ty_Char) → new_ltEs8(vwx300, vwx400)
new_esEs11(vwx302, vwx402, app(app(app(ty_@3, def), deg), deh)) → new_esEs6(vwx302, vwx402, def, deg, deh)
new_lt4(Right(vwx300), Right(vwx400), bgh, bha) → new_esEs16(new_compare24(Right(vwx300), Right(vwx400), new_esEs10(vwx300, vwx400, bha), bgh, bha), LT)
new_compare16(vwx30, vwx40, bfg, bfh) → new_compare24(vwx30, vwx40, new_esEs5(vwx30, vwx40, bfg, bfh), bfg, bfh)
new_lt20(vwx300, vwx400, ty_@0) → new_lt15(vwx300, vwx400)
new_esEs9(vwx300, vwx400, ty_Float) → new_esEs23(vwx300, vwx400)
new_lt20(vwx300, vwx400, ty_Int) → new_lt5(vwx300, vwx400)
new_ltEs19(vwx301, vwx401, app(app(ty_Either, bah), bba)) → new_ltEs10(vwx301, vwx401, bah, bba)
new_ltEs8(vwx30, vwx40) → new_not(new_esEs16(new_primCmpChar(vwx30, vwx40), GT))
new_esEs13(vwx300, vwx400, app(ty_[], dha)) → new_esEs22(vwx300, vwx400, dha)
new_primEqNat0(Zero, Zero) → True
new_compare26(vwx30, vwx40, True) → EQ
new_esEs26(vwx109, vwx110, ty_Char) → new_esEs17(vwx109, vwx110)
new_compare15(:%(vwx300, vwx301), :%(vwx400, vwx401), ty_Integer) → new_compare19(new_sr0(vwx300, vwx401), new_sr0(vwx400, vwx301))
new_compare111(vwx30, vwx40, False, bfg, bfh) → GT
new_esEs32(vwx1090, vwx1100, app(ty_[], dch)) → new_esEs22(vwx1090, vwx1100, dch)
new_esEs11(vwx302, vwx402, ty_Float) → new_esEs23(vwx302, vwx402)
new_esEs16(LT, GT) → False
new_esEs16(GT, LT) → False
new_esEs14(vwx301, vwx401, ty_Int) → new_esEs25(vwx301, vwx401)
new_lt13(vwx300, vwx400, app(ty_Ratio, edh)) → new_lt10(vwx300, vwx400, edh)
new_esEs14(vwx301, vwx401, ty_Float) → new_esEs23(vwx301, vwx401)
new_lt17(False, False) → new_esEs16(new_compare210(False, False, True), LT)
new_lt6(Char(vwx300), Char(vwx400)) → new_esEs16(new_primCmpNat0(vwx300, vwx400), LT)
new_esEs12(vwx301, vwx401, ty_Char) → new_esEs17(vwx301, vwx401)
new_ltEs10(Right(vwx300), Right(vwx400), de, ty_@0) → new_ltEs7(vwx300, vwx400)
new_esEs35(vwx1090, vwx1100, app(ty_Maybe, ecd)) → new_esEs4(vwx1090, vwx1100, ecd)
new_esEs38(vwx1090, vwx1100, ty_Bool) → new_esEs18(vwx1090, vwx1100)
new_lt20(vwx300, vwx400, ty_Float) → new_lt19(vwx300, vwx400)
new_ltEs19(vwx301, vwx401, ty_Ordering) → new_ltEs6(vwx301, vwx401)
new_esEs12(vwx301, vwx401, app(app(ty_@2, dgd), dge)) → new_esEs7(vwx301, vwx401, dgd, dge)
new_sr(vwx40, vwx31) → new_primMulInt(vwx40, vwx31)
new_esEs7(@2(vwx1090, vwx1091), @2(vwx1100, vwx1101), cdf, cdg) → new_asAs(new_esEs32(vwx1090, vwx1100, cdf), new_esEs31(vwx1091, vwx1101, cdg))
new_compare30(:(vwx300, vwx301), :(vwx400, vwx401), bgf) → new_primCompAux1(vwx300, vwx400, vwx301, vwx401, bgf)
new_compare12(vwx30, vwx40, True, bga, bgb, bgc) → LT
new_esEs26(vwx109, vwx110, ty_Int) → new_esEs25(vwx109, vwx110)
new_ltEs9(vwx30, vwx40, efc) → new_not(new_esEs37(vwx30, vwx40, efc))
new_esEs33(vwx1092, vwx1102, ty_Double) → new_esEs21(vwx1092, vwx1102)
new_esEs32(vwx1090, vwx1100, app(app(ty_@2, dde), ddf)) → new_esEs7(vwx1090, vwx1100, dde, ddf)
new_esEs14(vwx301, vwx401, app(ty_[], cgg)) → new_esEs22(vwx301, vwx401, cgg)
new_esEs15(vwx300, vwx400, ty_Integer) → new_esEs20(vwx300, vwx400)
new_lt5(Pos(Zero), Pos(Zero)) → new_esEs16(EQ, LT)
new_esEs13(vwx300, vwx400, app(app(app(ty_@3, dhb), dhc), dhd)) → new_esEs6(vwx300, vwx400, dhb, dhc, dhd)
new_lt9(Double(vwx300, vwx301), Double(vwx400, vwx401)) → new_esEs16(new_compare5(new_sr(vwx300, vwx400), new_sr(vwx301, vwx401)), LT)
new_ltEs6(EQ, GT) → True
new_ltEs4(Just(vwx300), Just(vwx400), ty_Integer) → new_ltEs13(vwx300, vwx400)
new_esEs35(vwx1090, vwx1100, ty_Ordering) → new_esEs16(vwx1090, vwx1100)
new_esEs13(vwx300, vwx400, ty_Ordering) → new_esEs16(vwx300, vwx400)
new_esEs9(vwx300, vwx400, ty_Ordering) → new_esEs16(vwx300, vwx400)
new_lt12(vwx301, vwx401, app(ty_Maybe, gc)) → new_lt16(vwx301, vwx401, gc)
new_primPlusNat0(Succ(vwx2740), vwx3100) → Succ(Succ(new_primPlusNat1(vwx2740, vwx3100)))
new_ltEs18(vwx302, vwx402, ty_Ordering) → new_ltEs6(vwx302, vwx402)
new_esEs38(vwx1090, vwx1100, app(app(app(ty_@3, efh), ega), egb)) → new_esEs6(vwx1090, vwx1100, efh, ega, egb)
new_ltEs4(Just(vwx300), Just(vwx400), app(app(ty_@2, bg), bh)) → new_ltEs12(vwx300, vwx400, bg, bh)
new_lt20(vwx300, vwx400, ty_Ordering) → new_lt14(vwx300, vwx400)
new_esEs12(vwx301, vwx401, ty_Int) → new_esEs25(vwx301, vwx401)
new_esEs26(vwx109, vwx110, app(app(app(ty_@3, cdb), cdc), cdd)) → new_esEs6(vwx109, vwx110, cdb, cdc, cdd)
new_compare30([], [], bgf) → EQ
new_compare18(vwx30, vwx40, bgd, bge) → new_compare25(vwx30, vwx40, new_esEs7(vwx30, vwx40, bgd, bge), bgd, bge)
new_esEs9(vwx300, vwx400, app(ty_[], cad)) → new_esEs22(vwx300, vwx400, cad)
new_esEs8(vwx300, vwx400, ty_@0) → new_esEs19(vwx300, vwx400)
new_ltEs10(Left(vwx300), Left(vwx400), app(ty_Maybe, cb), cc) → new_ltEs4(vwx300, vwx400, cb)
new_lt5(Pos(Zero), Neg(Succ(vwx4000))) → new_esEs16(GT, LT)
new_primEqInt(Neg(Succ(vwx10900)), Neg(Succ(vwx11000))) → new_primEqNat0(vwx10900, vwx11000)
new_ltEs19(vwx301, vwx401, ty_Double) → new_ltEs5(vwx301, vwx401)
new_esEs12(vwx301, vwx401, ty_Float) → new_esEs23(vwx301, vwx401)
new_compare30(:(vwx300, vwx301), [], bgf) → GT
new_primPlusNat1(Succ(vwx27400), Zero) → Succ(vwx27400)
new_primPlusNat1(Zero, Succ(vwx31000)) → Succ(vwx31000)
new_lt20(vwx300, vwx400, ty_Char) → new_lt6(vwx300, vwx400)
new_compare(vwx300, vwx400, ty_Integer) → new_compare19(vwx300, vwx400)
new_ltEs4(Nothing, Nothing, bhg) → True
new_ltEs10(Left(vwx300), Left(vwx400), ty_Ordering, cc) → new_ltEs6(vwx300, vwx400)
new_esEs38(vwx1090, vwx1100, ty_Double) → new_esEs21(vwx1090, vwx1100)
new_ltEs11(@3(vwx300, vwx301, vwx302), @3(vwx400, vwx401, vwx402), eg, eh, gd) → new_pePe(new_lt13(vwx300, vwx400, eg), vwx300, vwx400, new_pePe(new_lt12(vwx301, vwx401, eh), vwx301, vwx401, new_ltEs18(vwx302, vwx402, gd), eh), eg)
new_ltEs19(vwx301, vwx401, app(ty_Ratio, ehh)) → new_ltEs9(vwx301, vwx401, ehh)
new_lt20(vwx300, vwx400, app(app(ty_Either, bcb), bcc)) → new_lt4(vwx300, vwx400, bcb, bcc)
new_compare(vwx300, vwx400, app(ty_Maybe, bdd)) → new_compare14(vwx300, vwx400, bdd)
new_primEqInt(Neg(Zero), Neg(Zero)) → True
new_esEs31(vwx1091, vwx1101, app(app(app(ty_@3, dbg), dbh), dca)) → new_esEs6(vwx1091, vwx1101, dbg, dbh, dca)
new_esEs38(vwx1090, vwx1100, app(app(ty_Either, efe), eff)) → new_esEs5(vwx1090, vwx1100, efe, eff)
new_ltEs6(EQ, EQ) → True
new_esEs14(vwx301, vwx401, app(ty_Maybe, cgd)) → new_esEs4(vwx301, vwx401, cgd)
new_esEs34(vwx1091, vwx1101, ty_Ordering) → new_esEs16(vwx1091, vwx1101)
new_esEs39([], [], bdb) → new_esEs16(EQ, GT)
new_primEqInt(Neg(Zero), Neg(Succ(vwx11000))) → False
new_primEqInt(Neg(Succ(vwx10900)), Neg(Zero)) → False
new_esEs26(vwx109, vwx110, ty_Float) → new_esEs23(vwx109, vwx110)
new_lt20(vwx300, vwx400, ty_Integer) → new_lt8(vwx300, vwx400)
new_esEs9(vwx300, vwx400, app(ty_Ratio, cah)) → new_esEs24(vwx300, vwx400, cah)
new_esEs15(vwx300, vwx400, ty_Ordering) → new_esEs16(vwx300, vwx400)
new_ltEs7(vwx30, vwx40) → new_not(new_esEs27(vwx30, vwx40))
new_ltEs6(GT, GT) → True
new_esEs31(vwx1091, vwx1101, app(app(ty_Either, dbd), dbe)) → new_esEs5(vwx1091, vwx1101, dbd, dbe)
new_esEs34(vwx1091, vwx1101, ty_Int) → new_esEs25(vwx1091, vwx1101)
new_compare24(vwx30, vwx40, True, bfg, bfh) → EQ
new_esEs32(vwx1090, vwx1100, ty_Char) → new_esEs17(vwx1090, vwx1100)
new_lt13(vwx300, vwx400, ty_Double) → new_lt9(vwx300, vwx400)
new_esEs19(@0, @0) → True
new_esEs4(Just(vwx1090), Just(vwx1100), ty_Int) → new_esEs25(vwx1090, vwx1100)
new_primCmpInt(Pos(Zero), Neg(Zero)) → EQ
new_primCmpInt(Neg(Zero), Pos(Zero)) → EQ
new_esEs4(Just(vwx1090), Just(vwx1100), ty_Ordering) → new_esEs16(vwx1090, vwx1100)
new_primCmpFloat(Float(vwx300, vwx301), Float(vwx400, vwx401)) → new_compare5(new_sr(vwx300, vwx400), new_sr(vwx301, vwx401))
new_compare(vwx300, vwx400, app(ty_[], bed)) → new_compare30(vwx300, vwx400, bed)
new_esEs35(vwx1090, vwx1100, app(app(app(ty_@3, ech), eda), edb)) → new_esEs6(vwx1090, vwx1100, ech, eda, edb)
new_primCompAux00(vwx176, vwx177, EQ, app(app(ty_Either, bef), beg)) → new_compare16(vwx176, vwx177, bef, beg)
new_primCmpNat0(Succ(vwx3000), Succ(vwx4000)) → new_primCmpNat0(vwx3000, vwx4000)
new_ltEs10(Right(vwx300), Right(vwx400), de, ty_Char) → new_ltEs8(vwx300, vwx400)
new_ltEs18(vwx302, vwx402, ty_Integer) → new_ltEs13(vwx302, vwx402)
new_lt18([], [], bdc) → new_esEs16(EQ, LT)
new_primEqInt(Pos(Succ(vwx10900)), Pos(Succ(vwx11000))) → new_primEqNat0(vwx10900, vwx11000)
new_esEs11(vwx302, vwx402, ty_Double) → new_esEs21(vwx302, vwx402)
new_compare32(vwx300, vwx401, vwx400, vwx301, ty_Integer) → new_compare19(new_sr0(vwx300, vwx401), new_sr0(vwx400, vwx301))
new_compare10(vwx30, vwx40, False, bgd, bge) → GT
new_lt5(Neg(Zero), Neg(Zero)) → new_esEs16(EQ, LT)
new_compare(vwx300, vwx400, app(ty_Ratio, dah)) → new_compare15(vwx300, vwx400, dah)
new_esEs8(vwx300, vwx400, app(ty_Ratio, ehe)) → new_esEs24(vwx300, vwx400, ehe)
new_esEs5(Left(vwx1090), Left(vwx1100), ty_Float, cch) → new_esEs23(vwx1090, vwx1100)
new_esEs15(vwx300, vwx400, app(ty_Ratio, dae)) → new_esEs24(vwx300, vwx400, dae)
new_esEs9(vwx300, vwx400, app(app(ty_@2, cba), cbb)) → new_esEs7(vwx300, vwx400, cba, cbb)
new_esEs5(Left(vwx1090), Left(vwx1100), ty_Bool, cch) → new_esEs18(vwx1090, vwx1100)
new_primCompAux00(vwx176, vwx177, EQ, ty_Double) → new_compare6(vwx176, vwx177)
new_ltEs19(vwx301, vwx401, ty_Bool) → new_ltEs14(vwx301, vwx401)
new_esEs30(vwx1090, vwx1100, ty_Integer) → new_esEs20(vwx1090, vwx1100)
new_ltEs18(vwx302, vwx402, app(app(app(ty_@3, fd), ff), fg)) → new_ltEs11(vwx302, vwx402, fd, ff, fg)
new_compare32(vwx300, vwx401, vwx400, vwx301, ty_Int) → new_compare5(new_sr(vwx300, vwx401), new_sr(vwx400, vwx301))
new_esEs5(Right(vwx1090), Right(vwx1100), ccg, app(app(ty_Either, cfc), cfd)) → new_esEs5(vwx1090, vwx1100, cfc, cfd)
new_primEqNat0(Succ(vwx10900), Succ(vwx11000)) → new_primEqNat0(vwx10900, vwx11000)
new_ltEs14(False, False) → True
new_lt5(Pos(Succ(vwx3000)), Pos(vwx400)) → new_esEs16(new_primCmpNat0(Succ(vwx3000), vwx400), LT)
new_lt5(Pos(Zero), Pos(Succ(vwx4000))) → new_esEs16(new_primCmpNat0(Zero, Succ(vwx4000)), LT)
new_pePe(False, vwx109, vwx110, vwx140, cce) → new_asAs(new_esEs26(vwx109, vwx110, cce), vwx140)
new_esEs15(vwx300, vwx400, app(app(app(ty_@3, dab), dac), dad)) → new_esEs6(vwx300, vwx400, dab, dac, dad)
new_ltEs10(Left(vwx300), Left(vwx400), ty_Float, cc) → new_ltEs16(vwx300, vwx400)
new_esEs15(vwx300, vwx400, ty_Int) → new_esEs25(vwx300, vwx400)
new_esEs8(vwx300, vwx400, ty_Bool) → new_esEs18(vwx300, vwx400)
new_esEs8(vwx300, vwx400, ty_Integer) → new_esEs20(vwx300, vwx400)
new_esEs32(vwx1090, vwx1100, ty_@0) → new_esEs19(vwx1090, vwx1100)
new_primCmpInt(Neg(Succ(vwx3000)), Neg(vwx400)) → new_primCmpNat0(vwx400, Succ(vwx3000))
new_esEs35(vwx1090, vwx1100, ty_Bool) → new_esEs18(vwx1090, vwx1100)
new_ltEs10(Right(vwx300), Right(vwx400), de, app(app(ty_Either, dg), dh)) → new_ltEs10(vwx300, vwx400, dg, dh)
new_ltEs4(Just(vwx300), Just(vwx400), app(app(ty_Either, bb), bc)) → new_ltEs10(vwx300, vwx400, bb, bc)
new_esEs10(vwx300, vwx400, app(app(ty_@2, ccc), ccd)) → new_esEs7(vwx300, vwx400, ccc, ccd)
new_esEs9(vwx300, vwx400, ty_Char) → new_esEs17(vwx300, vwx400)
new_ltEs19(vwx301, vwx401, ty_Int) → new_ltEs17(vwx301, vwx401)
new_esEs8(vwx300, vwx400, app(app(ty_@2, ehf), ehg)) → new_esEs7(vwx300, vwx400, ehf, ehg)
new_ltEs10(Right(vwx300), Right(vwx400), de, app(app(app(ty_@3, ea), eb), ec)) → new_ltEs11(vwx300, vwx400, ea, eb, ec)
new_esEs11(vwx302, vwx402, app(ty_Maybe, deb)) → new_esEs4(vwx302, vwx402, deb)
new_esEs31(vwx1091, vwx1101, ty_Bool) → new_esEs18(vwx1091, vwx1101)
new_ltEs18(vwx302, vwx402, app(app(ty_@2, fh), ga)) → new_ltEs12(vwx302, vwx402, fh, ga)
new_primEqInt(Pos(Zero), Pos(Succ(vwx11000))) → False
new_primEqInt(Pos(Succ(vwx10900)), Pos(Zero)) → False
new_ltEs10(Left(vwx300), Left(vwx400), ty_@0, cc) → new_ltEs7(vwx300, vwx400)
new_lt13(vwx300, vwx400, app(app(ty_Either, hf), hg)) → new_lt4(vwx300, vwx400, hf, hg)
new_compare13(vwx30, vwx40, True, bff) → LT
new_esEs5(Left(vwx1090), Left(vwx1100), ty_Int, cch) → new_esEs25(vwx1090, vwx1100)
new_primCmpNat0(Zero, Zero) → EQ
new_esEs9(vwx300, vwx400, ty_Double) → new_esEs21(vwx300, vwx400)
new_primCmpNat0(Succ(vwx3000), Zero) → GT
new_primCmpInt(Neg(Zero), Pos(Succ(vwx4000))) → LT
new_compare(vwx300, vwx400, app(app(app(ty_@3, bdg), bdh), bea)) → new_compare17(vwx300, vwx400, bdg, bdh, bea)
new_esEs4(Just(vwx1090), Just(vwx1100), app(app(ty_Either, eeb), eec)) → new_esEs5(vwx1090, vwx1100, eeb, eec)
new_lt14(LT, LT) → new_esEs16(new_compare26(LT, LT, True), LT)
new_sr0(Integer(vwx4000), Integer(vwx3010)) → Integer(new_primMulInt(vwx4000, vwx3010))
new_esEs34(vwx1091, vwx1101, ty_Double) → new_esEs21(vwx1091, vwx1101)
new_primPlusNat1(Succ(vwx27400), Succ(vwx31000)) → Succ(Succ(new_primPlusNat1(vwx27400, vwx31000)))
new_ltEs19(vwx301, vwx401, app(app(ty_@2, bbe), bbf)) → new_ltEs12(vwx301, vwx401, bbe, bbf)
new_compare25(vwx30, vwx40, False, bgd, bge) → new_compare10(vwx30, vwx40, new_ltEs12(vwx30, vwx40, bgd, bge), bgd, bge)
new_primEqInt(Neg(Succ(vwx10900)), Pos(vwx1100)) → False
new_primEqInt(Pos(Succ(vwx10900)), Neg(vwx1100)) → False
new_esEs5(Right(vwx1090), Right(vwx1100), ccg, ty_@0) → new_esEs19(vwx1090, vwx1100)
new_compare30([], :(vwx400, vwx401), bgf) → LT
new_esEs33(vwx1092, vwx1102, ty_Bool) → new_esEs18(vwx1092, vwx1102)
new_esEs8(vwx300, vwx400, app(app(ty_Either, egg), egh)) → new_esEs5(vwx300, vwx400, egg, egh)
new_esEs32(vwx1090, vwx1100, app(app(ty_Either, dcf), dcg)) → new_esEs5(vwx1090, vwx1100, dcf, dcg)
new_lt5(Pos(Zero), Neg(Zero)) → new_esEs16(EQ, LT)
new_lt5(Neg(Zero), Pos(Zero)) → new_esEs16(EQ, LT)
new_esEs9(vwx300, vwx400, app(app(ty_Either, cab), cac)) → new_esEs5(vwx300, vwx400, cab, cac)
new_compare(vwx300, vwx400, ty_Ordering) → new_compare7(vwx300, vwx400)
new_compare(vwx300, vwx400, app(app(ty_@2, beb), bec)) → new_compare18(vwx300, vwx400, beb, bec)
new_esEs8(vwx300, vwx400, ty_Char) → new_esEs17(vwx300, vwx400)
new_primEqInt(Neg(Zero), Pos(Succ(vwx11000))) → False
new_primEqInt(Pos(Zero), Neg(Succ(vwx11000))) → False
new_esEs38(vwx1090, vwx1100, ty_Ordering) → new_esEs16(vwx1090, vwx1100)
new_esEs34(vwx1091, vwx1101, app(ty_Maybe, ebb)) → new_esEs4(vwx1091, vwx1101, ebb)
new_primCmpInt(Pos(Zero), Pos(Succ(vwx4000))) → new_primCmpNat0(Zero, Succ(vwx4000))
new_esEs8(vwx300, vwx400, ty_Float) → new_esEs23(vwx300, vwx400)
new_esEs22([], [], cda) → True
new_lt12(vwx301, vwx401, ty_Char) → new_lt6(vwx301, vwx401)
new_lt5(Pos(Succ(vwx3000)), Neg(vwx400)) → new_esEs16(GT, LT)
new_ltEs19(vwx301, vwx401, ty_Char) → new_ltEs8(vwx301, vwx401)
new_esEs8(vwx300, vwx400, app(app(app(ty_@3, ehb), ehc), ehd)) → new_esEs6(vwx300, vwx400, ehb, ehc, ehd)
new_ltEs16(vwx30, vwx40) → new_not(new_esEs16(new_primCmpFloat(vwx30, vwx40), GT))
new_ltEs4(Just(vwx300), Just(vwx400), ty_Bool) → new_ltEs14(vwx300, vwx400)
new_not(False) → True
new_esEs35(vwx1090, vwx1100, ty_Integer) → new_esEs20(vwx1090, vwx1100)
new_lt16(Nothing, Just(vwx400), bgg) → new_esEs16(new_compare28(Nothing, Just(vwx400), False, bgg), LT)
new_lt16(Just(vwx300), Nothing, bgg) → new_esEs16(new_compare28(Just(vwx300), Nothing, False, bgg), LT)
new_esEs25(vwx109, vwx110) → new_primEqInt(vwx109, vwx110)
new_esEs26(vwx109, vwx110, app(ty_Ratio, cde)) → new_esEs24(vwx109, vwx110, cde)
new_lt13(vwx300, vwx400, app(app(ty_@2, bac), bad)) → new_lt7(vwx300, vwx400, bac, bad)
new_esEs11(vwx302, vwx402, ty_@0) → new_esEs19(vwx302, vwx402)
new_primPlusNat0(Zero, vwx3100) → Succ(vwx3100)
new_primCmpInt(Pos(Succ(vwx3000)), Pos(vwx400)) → new_primCmpNat0(Succ(vwx3000), vwx400)
new_compare12(vwx30, vwx40, False, bga, bgb, bgc) → GT
new_esEs12(vwx301, vwx401, ty_Integer) → new_esEs20(vwx301, vwx401)
new_ltEs10(Right(vwx300), Right(vwx400), de, ty_Integer) → new_ltEs13(vwx300, vwx400)
new_esEs31(vwx1091, vwx1101, app(ty_[], dbf)) → new_esEs22(vwx1091, vwx1101, dbf)
new_lt13(vwx300, vwx400, app(app(app(ty_@3, hh), baa), bab)) → new_lt11(vwx300, vwx400, hh, baa, bab)
new_esEs33(vwx1092, vwx1102, ty_Ordering) → new_esEs16(vwx1092, vwx1102)
new_esEs4(Just(vwx1090), Just(vwx1100), ty_Float) → new_esEs23(vwx1090, vwx1100)
new_esEs16(LT, EQ) → False
new_esEs16(EQ, LT) → False
new_esEs4(Just(vwx1090), Just(vwx1100), app(ty_[], eed)) → new_esEs22(vwx1090, vwx1100, eed)
new_compare17(vwx30, vwx40, bga, bgb, bgc) → new_compare27(vwx30, vwx40, new_esEs6(vwx30, vwx40, bga, bgb, bgc), bga, bgb, bgc)
new_esEs13(vwx300, vwx400, app(app(ty_Either, dgg), dgh)) → new_esEs5(vwx300, vwx400, dgg, dgh)
new_ltEs4(Just(vwx300), Just(vwx400), ty_Int) → new_ltEs17(vwx300, vwx400)
new_compare15(:%(vwx300, vwx301), :%(vwx400, vwx401), ty_Int) → new_compare5(new_sr(vwx300, vwx401), new_sr(vwx400, vwx301))
new_esEs14(vwx301, vwx401, ty_@0) → new_esEs19(vwx301, vwx401)
new_esEs35(vwx1090, vwx1100, ty_Char) → new_esEs17(vwx1090, vwx1100)
new_esEs8(vwx300, vwx400, ty_Int) → new_esEs25(vwx300, vwx400)
new_esEs38(vwx1090, vwx1100, ty_Int) → new_esEs25(vwx1090, vwx1100)
new_lt20(vwx300, vwx400, ty_Double) → new_lt9(vwx300, vwx400)
new_esEs26(vwx109, vwx110, app(app(ty_Either, ccg), cch)) → new_esEs5(vwx109, vwx110, ccg, cch)
new_esEs35(vwx1090, vwx1100, app(ty_Ratio, edc)) → new_esEs24(vwx1090, vwx1100, edc)
new_ltEs4(Just(vwx300), Just(vwx400), ty_Double) → new_ltEs5(vwx300, vwx400)
new_ltEs19(vwx301, vwx401, app(ty_[], bbg)) → new_ltEs15(vwx301, vwx401, bbg)
new_compare24(vwx30, vwx40, False, bfg, bfh) → new_compare111(vwx30, vwx40, new_ltEs10(vwx30, vwx40, bfg, bfh), bfg, bfh)
new_esEs5(Left(vwx1090), Left(vwx1100), ty_Integer, cch) → new_esEs20(vwx1090, vwx1100)
new_compare210(vwx30, vwx40, False) → new_compare110(vwx30, vwx40, new_ltEs14(vwx30, vwx40))
new_primCmpInt(Pos(Succ(vwx3000)), Neg(vwx400)) → GT
new_lt13(vwx300, vwx400, app(ty_Maybe, he)) → new_lt16(vwx300, vwx400, he)
new_esEs5(Right(vwx1090), Right(vwx1100), ccg, app(ty_[], cfe)) → new_esEs22(vwx1090, vwx1100, cfe)
new_esEs33(vwx1092, vwx1102, app(app(ty_@2, eah), eba)) → new_esEs7(vwx1092, vwx1102, eah, eba)
new_esEs33(vwx1092, vwx1102, ty_Integer) → new_esEs20(vwx1092, vwx1102)
new_primMulInt(Pos(vwx400), Pos(vwx310)) → Pos(new_primMulNat0(vwx400, vwx310))
new_esEs13(vwx300, vwx400, ty_@0) → new_esEs19(vwx300, vwx400)
new_compare19(Integer(vwx300), Integer(vwx400)) → new_primCmpInt(vwx300, vwx400)
new_esEs34(vwx1091, vwx1101, ty_Float) → new_esEs23(vwx1091, vwx1101)
new_lt12(vwx301, vwx401, ty_@0) → new_lt15(vwx301, vwx401)
new_esEs5(Right(vwx1090), Right(vwx1100), ccg, ty_Double) → new_esEs21(vwx1090, vwx1100)
new_esEs5(Right(vwx1090), Right(vwx1100), ccg, ty_Float) → new_esEs23(vwx1090, vwx1100)
new_esEs5(Right(vwx1090), Left(vwx1100), ccg, cch) → False
new_esEs5(Left(vwx1090), Right(vwx1100), ccg, cch) → False
new_lt5(Neg(Zero), Neg(Succ(vwx4000))) → new_esEs16(new_primCmpNat0(Succ(vwx4000), Zero), LT)
new_primMulInt(Neg(vwx400), Neg(vwx310)) → Pos(new_primMulNat0(vwx400, vwx310))
new_compare110(vwx30, vwx40, True) → LT
new_esEs16(EQ, EQ) → True
new_ltEs10(Left(vwx300), Left(vwx400), ty_Char, cc) → new_ltEs8(vwx300, vwx400)
new_esEs32(vwx1090, vwx1100, ty_Int) → new_esEs25(vwx1090, vwx1100)
new_esEs26(vwx109, vwx110, ty_Ordering) → new_esEs16(vwx109, vwx110)
new_esEs11(vwx302, vwx402, ty_Integer) → new_esEs20(vwx302, vwx402)
new_lt20(vwx300, vwx400, app(app(app(ty_@3, bcd), bce), bcf)) → new_lt11(vwx300, vwx400, bcd, bce, bcf)
new_primEqNat0(Zero, Succ(vwx11000)) → False
new_primEqNat0(Succ(vwx10900), Zero) → False
new_esEs14(vwx301, vwx401, ty_Bool) → new_esEs18(vwx301, vwx401)
new_esEs38(vwx1090, vwx1100, app(ty_Maybe, efd)) → new_esEs4(vwx1090, vwx1100, efd)
new_esEs26(vwx109, vwx110, app(app(ty_@2, cdf), cdg)) → new_esEs7(vwx109, vwx110, cdf, cdg)
new_ltEs6(LT, LT) → True
new_primCompAux00(vwx176, vwx177, EQ, ty_Ordering) → new_compare7(vwx176, vwx177)
new_ltEs6(EQ, LT) → False
new_ltEs10(Left(vwx300), Left(vwx400), ty_Double, cc) → new_ltEs5(vwx300, vwx400)
new_compare25(vwx30, vwx40, True, bgd, bge) → EQ
new_esEs34(vwx1091, vwx1101, app(ty_[], ebe)) → new_esEs22(vwx1091, vwx1101, ebe)
new_ltEs14(True, True) → True
new_compare110(vwx30, vwx40, False) → GT
new_primEqInt(Pos(Zero), Pos(Zero)) → True
new_esEs23(Float(vwx1090, vwx1091), Float(vwx1100, vwx1101)) → new_esEs25(new_sr(vwx1090, vwx1100), new_sr(vwx1091, vwx1101))
new_esEs4(Nothing, Nothing, ccf) → True
new_ltEs18(vwx302, vwx402, ty_@0) → new_ltEs7(vwx302, vwx402)
new_esEs13(vwx300, vwx400, app(app(ty_@2, dhf), dhg)) → new_esEs7(vwx300, vwx400, dhf, dhg)
new_esEs12(vwx301, vwx401, app(app(ty_Either, dfe), dff)) → new_esEs5(vwx301, vwx401, dfe, dff)
new_esEs12(vwx301, vwx401, ty_@0) → new_esEs19(vwx301, vwx401)
new_esEs29(vwx1091, vwx1101, ty_Integer) → new_esEs20(vwx1091, vwx1101)
new_compare210(vwx30, vwx40, True) → EQ
new_esEs33(vwx1092, vwx1102, ty_Char) → new_esEs17(vwx1092, vwx1102)
new_primCmpDouble(Double(vwx300, vwx301), Double(vwx400, vwx401)) → new_compare5(new_sr(vwx300, vwx400), new_sr(vwx301, vwx401))
new_esEs39(:(vwx300, vwx301), [], bdb) → new_esEs16(GT, GT)
new_ltEs4(Just(vwx300), Just(vwx400), app(ty_[], ca)) → new_ltEs15(vwx300, vwx400, ca)
new_lt5(Neg(Succ(vwx3000)), Neg(vwx400)) → new_esEs16(new_primCmpNat0(vwx400, Succ(vwx3000)), LT)
new_esEs32(vwx1090, vwx1100, ty_Bool) → new_esEs18(vwx1090, vwx1100)
new_esEs5(Left(vwx1090), Left(vwx1100), ty_Ordering, cch) → new_esEs16(vwx1090, vwx1100)
new_pePe(True, vwx109, vwx110, vwx140, cce) → True
new_esEs31(vwx1091, vwx1101, ty_Int) → new_esEs25(vwx1091, vwx1101)
new_esEs10(vwx300, vwx400, app(ty_Ratio, ccb)) → new_esEs24(vwx300, vwx400, ccb)
new_esEs8(vwx300, vwx400, ty_Ordering) → new_esEs16(vwx300, vwx400)
new_compare(vwx300, vwx400, ty_Double) → new_compare6(vwx300, vwx400)
new_lt14(GT, GT) → new_esEs16(new_compare26(GT, GT, True), LT)
new_compare13(vwx30, vwx40, False, bff) → GT
new_primCmpInt(Neg(Zero), Neg(Succ(vwx4000))) → new_primCmpNat0(Succ(vwx4000), Zero)
new_esEs4(Just(vwx1090), Just(vwx1100), ty_Double) → new_esEs21(vwx1090, vwx1100)
new_primCmpInt(Pos(Zero), Neg(Succ(vwx4000))) → GT
new_compare5(vwx30, vwx40) → new_primCmpInt(vwx30, vwx40)
new_esEs22(:(vwx1090, vwx1091), :(vwx1100, vwx1101), cda) → new_asAs(new_esEs38(vwx1090, vwx1100, cda), new_esEs22(vwx1091, vwx1101, cda))
new_primCompAux00(vwx176, vwx177, EQ, ty_Char) → new_compare9(vwx176, vwx177)
new_esEs14(vwx301, vwx401, ty_Char) → new_esEs17(vwx301, vwx401)
new_esEs14(vwx301, vwx401, app(app(ty_Either, cge), cgf)) → new_esEs5(vwx301, vwx401, cge, cgf)
new_lt12(vwx301, vwx401, app(app(app(ty_@3, gg), gh), ha)) → new_lt11(vwx301, vwx401, gg, gh, ha)
new_lt18(:(vwx300, vwx301), [], bdc) → new_esEs16(GT, LT)
new_esEs10(vwx300, vwx400, app(ty_[], cbf)) → new_esEs22(vwx300, vwx400, cbf)
new_esEs33(vwx1092, vwx1102, app(ty_[], eac)) → new_esEs22(vwx1092, vwx1102, eac)
new_ltEs10(Right(vwx300), Right(vwx400), de, app(ty_Maybe, df)) → new_ltEs4(vwx300, vwx400, df)
new_esEs5(Right(vwx1090), Right(vwx1100), ccg, app(ty_Ratio, cga)) → new_esEs24(vwx1090, vwx1100, cga)
new_ltEs13(vwx30, vwx40) → new_not(new_esEs36(vwx30, vwx40))
new_ltEs4(Just(vwx300), Just(vwx400), app(ty_Maybe, ba)) → new_ltEs4(vwx300, vwx400, ba)
new_esEs12(vwx301, vwx401, app(ty_[], dfg)) → new_esEs22(vwx301, vwx401, dfg)
new_esEs21(Double(vwx1090, vwx1091), Double(vwx1100, vwx1101)) → new_esEs25(new_sr(vwx1090, vwx1100), new_sr(vwx1091, vwx1101))
new_esEs5(Left(vwx1090), Left(vwx1100), app(app(ty_@2, ceh), cfa), cch) → new_esEs7(vwx1090, vwx1100, ceh, cfa)
new_esEs37(:%(vwx300, vwx301), :%(vwx400, vwx401), efc) → new_esEs16(new_compare33(vwx300, vwx401, vwx400, vwx301, efc), GT)
new_ltEs10(Right(vwx300), Right(vwx400), de, app(app(ty_@2, ed), ee)) → new_ltEs12(vwx300, vwx400, ed, ee)
new_ltEs10(Left(vwx300), Left(vwx400), app(app(app(ty_@3, cf), cg), da), cc) → new_ltEs11(vwx300, vwx400, cf, cg, da)
new_primCmpInt(Neg(Zero), Neg(Zero)) → EQ
new_lt13(vwx300, vwx400, ty_Char) → new_lt6(vwx300, vwx400)
new_esEs10(vwx300, vwx400, app(app(ty_Either, cbd), cbe)) → new_esEs5(vwx300, vwx400, cbd, cbe)
new_lt12(vwx301, vwx401, app(app(ty_Either, ge), gf)) → new_lt4(vwx301, vwx401, ge, gf)
new_esEs22(:(vwx1090, vwx1091), [], cda) → False
new_esEs22([], :(vwx1100, vwx1101), cda) → False
new_esEs34(vwx1091, vwx1101, app(ty_Ratio, eca)) → new_esEs24(vwx1091, vwx1101, eca)
new_esEs12(vwx301, vwx401, app(ty_Maybe, dfd)) → new_esEs4(vwx301, vwx401, dfd)
new_esEs16(LT, LT) → True
new_lt4(Left(vwx300), Left(vwx400), bgh, bha) → new_esEs16(new_compare24(Left(vwx300), Left(vwx400), new_esEs9(vwx300, vwx400, bgh), bgh, bha), LT)
new_asAs(False, vwx160) → False
new_esEs33(vwx1092, vwx1102, ty_Float) → new_esEs23(vwx1092, vwx1102)
new_esEs10(vwx300, vwx400, app(app(app(ty_@3, cbg), cbh), cca)) → new_esEs6(vwx300, vwx400, cbg, cbh, cca)
new_esEs15(vwx300, vwx400, app(ty_Maybe, chf)) → new_esEs4(vwx300, vwx400, chf)
new_lt10(:%(vwx300, vwx301), :%(vwx400, vwx401), ddg) → new_esEs16(new_compare32(vwx300, vwx401, vwx400, vwx301, ddg), LT)
new_esEs36(Integer(vwx300), Integer(vwx400)) → new_esEs16(new_primCmpInt(vwx300, vwx400), GT)
new_primMulInt(Neg(vwx400), Pos(vwx310)) → Neg(new_primMulNat0(vwx400, vwx310))
new_primMulInt(Pos(vwx400), Neg(vwx310)) → Neg(new_primMulNat0(vwx400, vwx310))
new_ltEs4(Just(vwx300), Just(vwx400), ty_Ordering) → new_ltEs6(vwx300, vwx400)
new_primMulNat0(Succ(vwx4000), Zero) → Zero
new_primMulNat0(Zero, Succ(vwx3100)) → Zero
new_lt4(Right(vwx300), Left(vwx400), bgh, bha) → new_esEs16(new_compare24(Right(vwx300), Left(vwx400), False, bgh, bha), LT)
new_lt4(Left(vwx300), Right(vwx400), bgh, bha) → new_esEs16(new_compare24(Left(vwx300), Right(vwx400), False, bgh, bha), LT)
new_esEs16(GT, GT) → True
new_esEs9(vwx300, vwx400, app(ty_Maybe, caa)) → new_esEs4(vwx300, vwx400, caa)
new_ltEs15(vwx30, vwx40, bdb) → new_not(new_esEs39(vwx30, vwx40, bdb))
new_esEs5(Left(vwx1090), Left(vwx1100), app(app(app(ty_@3, ced), cee), cef), cch) → new_esEs6(vwx1090, vwx1100, ced, cee, cef)
new_esEs18(True, True) → True
new_esEs9(vwx300, vwx400, ty_Integer) → new_esEs20(vwx300, vwx400)
new_esEs35(vwx1090, vwx1100, ty_Double) → new_esEs21(vwx1090, vwx1100)
new_lt17(True, True) → new_esEs16(new_compare210(True, True, True), LT)
new_esEs12(vwx301, vwx401, ty_Bool) → new_esEs18(vwx301, vwx401)
new_esEs33(vwx1092, vwx1102, app(ty_Ratio, eag)) → new_esEs24(vwx1092, vwx1102, eag)
new_ltEs5(vwx30, vwx40) → new_not(new_esEs16(new_primCmpDouble(vwx30, vwx40), GT))
new_ltEs18(vwx302, vwx402, ty_Bool) → new_ltEs14(vwx302, vwx402)
new_primCompAux00(vwx176, vwx177, LT, dba) → LT
new_esEs35(vwx1090, vwx1100, app(ty_[], ecg)) → new_esEs22(vwx1090, vwx1100, ecg)
new_primCompAux00(vwx176, vwx177, GT, dba) → GT
new_lt12(vwx301, vwx401, app(app(ty_@2, hb), hc)) → new_lt7(vwx301, vwx401, hb, hc)
new_esEs31(vwx1091, vwx1101, ty_@0) → new_esEs19(vwx1091, vwx1101)
new_ltEs18(vwx302, vwx402, ty_Int) → new_ltEs17(vwx302, vwx402)
new_esEs38(vwx1090, vwx1100, app(ty_Ratio, egc)) → new_esEs24(vwx1090, vwx1100, egc)
new_lt14(LT, GT) → new_esEs16(new_compare26(LT, GT, False), LT)
new_lt14(GT, LT) → new_esEs16(new_compare26(GT, LT, False), LT)
new_ltEs6(LT, GT) → True
new_esEs12(vwx301, vwx401, ty_Double) → new_esEs21(vwx301, vwx401)
new_esEs10(vwx300, vwx400, ty_Ordering) → new_esEs16(vwx300, vwx400)
new_esEs33(vwx1092, vwx1102, ty_Int) → new_esEs25(vwx1092, vwx1102)
new_compare(vwx300, vwx400, ty_Int) → new_compare5(vwx300, vwx400)
new_esEs13(vwx300, vwx400, ty_Int) → new_esEs25(vwx300, vwx400)
new_esEs10(vwx300, vwx400, ty_Bool) → new_esEs18(vwx300, vwx400)
new_esEs11(vwx302, vwx402, ty_Ordering) → new_esEs16(vwx302, vwx402)
new_lt13(vwx300, vwx400, ty_Float) → new_lt19(vwx300, vwx400)
new_primCompAux1(vwx300, vwx400, vwx301, vwx401, bdc) → new_primCompAux00(vwx301, vwx401, new_compare(vwx300, vwx400, bdc), app(ty_[], bdc))
new_lt12(vwx301, vwx401, ty_Float) → new_lt19(vwx301, vwx401)
new_esEs38(vwx1090, vwx1100, ty_Float) → new_esEs23(vwx1090, vwx1100)
new_esEs12(vwx301, vwx401, app(app(app(ty_@3, dfh), dga), dgb)) → new_esEs6(vwx301, vwx401, dfh, dga, dgb)
new_esEs32(vwx1090, vwx1100, app(app(app(ty_@3, dda), ddb), ddc)) → new_esEs6(vwx1090, vwx1100, dda, ddb, ddc)
new_esEs35(vwx1090, vwx1100, ty_Int) → new_esEs25(vwx1090, vwx1100)
new_lt17(False, True) → new_esEs16(new_compare210(False, True, False), LT)
new_lt17(True, False) → new_esEs16(new_compare210(True, False, False), LT)
new_esEs4(Just(vwx1090), Just(vwx1100), ty_Bool) → new_esEs18(vwx1090, vwx1100)
new_esEs14(vwx301, vwx401, ty_Ordering) → new_esEs16(vwx301, vwx401)
new_esEs5(Right(vwx1090), Right(vwx1100), ccg, app(ty_Maybe, cfb)) → new_esEs4(vwx1090, vwx1100, cfb)
new_esEs34(vwx1091, vwx1101, ty_Char) → new_esEs17(vwx1091, vwx1101)
new_ltEs19(vwx301, vwx401, app(app(app(ty_@3, bbb), bbc), bbd)) → new_ltEs11(vwx301, vwx401, bbb, bbc, bbd)
new_ltEs14(True, False) → False
new_esEs4(Just(vwx1090), Just(vwx1100), app(ty_Ratio, eeh)) → new_esEs24(vwx1090, vwx1100, eeh)
new_compare11(vwx30, vwx40, False) → GT
new_esEs10(vwx300, vwx400, ty_Double) → new_esEs21(vwx300, vwx400)
new_esEs14(vwx301, vwx401, ty_Double) → new_esEs21(vwx301, vwx401)
new_esEs8(vwx300, vwx400, app(ty_Maybe, egf)) → new_esEs4(vwx300, vwx400, egf)
new_esEs11(vwx302, vwx402, ty_Int) → new_esEs25(vwx302, vwx402)
new_esEs5(Right(vwx1090), Right(vwx1100), ccg, ty_Int) → new_esEs25(vwx1090, vwx1100)
new_esEs11(vwx302, vwx402, app(app(ty_Either, dec), ded)) → new_esEs5(vwx302, vwx402, dec, ded)
new_ltEs10(Right(vwx300), Left(vwx400), de, cc) → False
new_esEs5(Right(vwx1090), Right(vwx1100), ccg, ty_Bool) → new_esEs18(vwx1090, vwx1100)
new_esEs15(vwx300, vwx400, ty_Double) → new_esEs21(vwx300, vwx400)
new_ltEs18(vwx302, vwx402, ty_Float) → new_ltEs16(vwx302, vwx402)
new_compare11(vwx30, vwx40, True) → LT
new_esEs31(vwx1091, vwx1101, app(ty_Maybe, dbc)) → new_esEs4(vwx1091, vwx1101, dbc)
new_esEs5(Left(vwx1090), Left(vwx1100), app(app(ty_Either, cea), ceb), cch) → new_esEs5(vwx1090, vwx1100, cea, ceb)
new_esEs9(vwx300, vwx400, ty_@0) → new_esEs19(vwx300, vwx400)
new_esEs33(vwx1092, vwx1102, app(app(ty_Either, eaa), eab)) → new_esEs5(vwx1092, vwx1102, eaa, eab)
new_primCompAux00(vwx176, vwx177, EQ, ty_Bool) → new_compare29(vwx176, vwx177)
new_lt13(vwx300, vwx400, ty_Bool) → new_lt17(vwx300, vwx400)
new_esEs31(vwx1091, vwx1101, ty_Integer) → new_esEs20(vwx1091, vwx1101)
new_esEs18(False, True) → False
new_esEs18(True, False) → False
new_esEs4(Just(vwx1090), Just(vwx1100), app(app(ty_@2, efa), efb)) → new_esEs7(vwx1090, vwx1100, efa, efb)
new_esEs32(vwx1090, vwx1100, ty_Double) → new_esEs21(vwx1090, vwx1100)
new_esEs31(vwx1091, vwx1101, ty_Ordering) → new_esEs16(vwx1091, vwx1101)
new_esEs4(Just(vwx1090), Just(vwx1100), ty_@0) → new_esEs19(vwx1090, vwx1100)
new_esEs31(vwx1091, vwx1101, ty_Float) → new_esEs23(vwx1091, vwx1101)
new_esEs5(Right(vwx1090), Right(vwx1100), ccg, app(app(ty_@2, cgb), cgc)) → new_esEs7(vwx1090, vwx1100, cgb, cgc)
new_esEs9(vwx300, vwx400, app(app(app(ty_@3, cae), caf), cag)) → new_esEs6(vwx300, vwx400, cae, caf, cag)
new_esEs4(Just(vwx1090), Just(vwx1100), ty_Integer) → new_esEs20(vwx1090, vwx1100)
new_compare111(vwx30, vwx40, True, bfg, bfh) → LT
new_esEs15(vwx300, vwx400, app(ty_[], daa)) → new_esEs22(vwx300, vwx400, daa)
new_primPlusNat1(Zero, Zero) → Zero
new_compare(vwx300, vwx400, ty_@0) → new_compare8(vwx300, vwx400)
new_ltEs6(LT, EQ) → True
new_compare26(vwx30, vwx40, False) → new_compare11(vwx30, vwx40, new_ltEs6(vwx30, vwx40))
new_ltEs6(GT, LT) → False
new_esEs12(vwx301, vwx401, ty_Ordering) → new_esEs16(vwx301, vwx401)
new_esEs15(vwx300, vwx400, ty_Bool) → new_esEs18(vwx300, vwx400)
new_esEs27(@0, @0) → new_esEs16(EQ, GT)
new_primCmpChar(Char(vwx300), Char(vwx400)) → new_primCmpNat0(vwx300, vwx400)
new_asAs(True, vwx160) → vwx160
new_ltEs4(Just(vwx300), Nothing, bhg) → False
new_lt19(Float(vwx300, vwx301), Float(vwx400, vwx401)) → new_esEs16(new_compare5(new_sr(vwx300, vwx400), new_sr(vwx301, vwx401)), LT)
new_primMulNat0(Succ(vwx4000), Succ(vwx3100)) → new_primPlusNat0(new_primMulNat0(vwx4000, Succ(vwx3100)), vwx3100)
new_esEs11(vwx302, vwx402, ty_Char) → new_esEs17(vwx302, vwx402)
new_esEs5(Right(vwx1090), Right(vwx1100), ccg, ty_Ordering) → new_esEs16(vwx1090, vwx1100)
new_esEs35(vwx1090, vwx1100, app(app(ty_Either, ece), ecf)) → new_esEs5(vwx1090, vwx1100, ece, ecf)
new_lt18([], :(vwx400, vwx401), bdc) → new_esEs16(LT, LT)
new_lt20(vwx300, vwx400, app(ty_Ratio, faa)) → new_lt10(vwx300, vwx400, faa)
new_lt20(vwx300, vwx400, ty_Bool) → new_lt17(vwx300, vwx400)
new_lt12(vwx301, vwx401, app(ty_Ratio, edg)) → new_lt10(vwx301, vwx401, edg)
new_compare8(@0, @0) → EQ
new_compare27(vwx30, vwx40, True, bga, bgb, bgc) → EQ
new_esEs14(vwx301, vwx401, ty_Integer) → new_esEs20(vwx301, vwx401)
new_ltEs10(Right(vwx300), Right(vwx400), de, app(ty_[], ef)) → new_ltEs15(vwx300, vwx400, ef)
new_esEs33(vwx1092, vwx1102, app(ty_Maybe, dhh)) → new_esEs4(vwx1092, vwx1102, dhh)
new_ltEs19(vwx301, vwx401, ty_Integer) → new_ltEs13(vwx301, vwx401)
new_compare28(vwx30, vwx40, True, bff) → EQ
new_esEs30(vwx1090, vwx1100, ty_Int) → new_esEs25(vwx1090, vwx1100)
new_primCompAux00(vwx176, vwx177, EQ, app(ty_Ratio, dbb)) → new_compare15(vwx176, vwx177, dbb)
new_esEs15(vwx300, vwx400, ty_@0) → new_esEs19(vwx300, vwx400)
new_ltEs18(vwx302, vwx402, ty_Double) → new_ltEs5(vwx302, vwx402)
new_compare29(vwx30, vwx40) → new_compare210(vwx30, vwx40, new_esEs18(vwx30, vwx40))
new_ltEs4(Just(vwx300), Just(vwx400), app(ty_Ratio, bhh)) → new_ltEs9(vwx300, vwx400, bhh)
new_lt15(@0, @0) → new_esEs16(EQ, LT)
new_esEs6(@3(vwx1090, vwx1091, vwx1092), @3(vwx1100, vwx1101, vwx1102), cdb, cdc, cdd) → new_asAs(new_esEs35(vwx1090, vwx1100, cdb), new_asAs(new_esEs34(vwx1091, vwx1101, cdc), new_esEs33(vwx1092, vwx1102, cdd)))
new_ltEs10(Right(vwx300), Right(vwx400), de, ty_Ordering) → new_ltEs6(vwx300, vwx400)
new_ltEs4(Just(vwx300), Just(vwx400), ty_Float) → new_ltEs16(vwx300, vwx400)
new_esEs11(vwx302, vwx402, app(ty_[], dee)) → new_esEs22(vwx302, vwx402, dee)
new_ltEs10(Right(vwx300), Right(vwx400), de, ty_Float) → new_ltEs16(vwx300, vwx400)
new_esEs5(Left(vwx1090), Left(vwx1100), app(ty_[], cec), cch) → new_esEs22(vwx1090, vwx1100, cec)
new_esEs33(vwx1092, vwx1102, ty_@0) → new_esEs19(vwx1092, vwx1102)
new_esEs38(vwx1090, vwx1100, ty_Integer) → new_esEs20(vwx1090, vwx1100)
new_esEs5(Right(vwx1090), Right(vwx1100), ccg, ty_Integer) → new_esEs20(vwx1090, vwx1100)
new_primCmpInt(Pos(Zero), Pos(Zero)) → EQ
new_esEs8(vwx300, vwx400, ty_Double) → new_esEs21(vwx300, vwx400)
new_ltEs12(@2(vwx300, vwx301), @2(vwx400, vwx401), baf, bca) → new_pePe(new_lt20(vwx300, vwx400, baf), vwx300, vwx400, new_ltEs19(vwx301, vwx401, bca), baf)
new_compare33(vwx300, vwx401, vwx400, vwx301, ty_Int) → new_compare5(new_sr(vwx300, vwx401), new_sr(vwx400, vwx301))
new_esEs10(vwx300, vwx400, app(ty_Maybe, cbc)) → new_esEs4(vwx300, vwx400, cbc)
new_primEqInt(Neg(Zero), Pos(Zero)) → True
new_primEqInt(Pos(Zero), Neg(Zero)) → True
new_esEs32(vwx1090, vwx1100, ty_Integer) → new_esEs20(vwx1090, vwx1100)
new_esEs31(vwx1091, vwx1101, app(app(ty_@2, dcc), dcd)) → new_esEs7(vwx1091, vwx1101, dcc, dcd)
new_compare27(vwx30, vwx40, False, bga, bgb, bgc) → new_compare12(vwx30, vwx40, new_ltEs11(vwx30, vwx40, bga, bgb, bgc), bga, bgb, bgc)
new_primCmpInt(Neg(Succ(vwx3000)), Pos(vwx400)) → LT
new_lt12(vwx301, vwx401, ty_Int) → new_lt5(vwx301, vwx401)
new_not(True) → False
new_primCompAux00(vwx176, vwx177, EQ, ty_Int) → new_compare5(vwx176, vwx177)
new_esEs5(Left(vwx1090), Left(vwx1100), ty_Char, cch) → new_esEs17(vwx1090, vwx1100)
new_lt18(:(vwx300, vwx301), :(vwx400, vwx401), bdc) → new_esEs16(new_primCompAux1(vwx300, vwx400, vwx301, vwx401, bdc), LT)
new_esEs18(False, False) → True

The set Q consists of the following terms:

new_ltEs10(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_esEs13(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs10(x0, x1, ty_Char)
new_esEs5(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_lt18([], :(x0, x1), x2)
new_esEs8(x0, x1, ty_@0)
new_ltEs9(x0, x1, x2)
new_lt5(Neg(Zero), Pos(Zero))
new_lt5(Pos(Zero), Neg(Zero))
new_lt4(Left(x0), Left(x1), x2, x3)
new_lt17(False, False)
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_primCmpInt(Pos(Succ(x0)), Neg(x1))
new_esEs5(Right(x0), Right(x1), x2, ty_Double)
new_esEs31(x0, x1, ty_Double)
new_esEs31(x0, x1, app(ty_Ratio, x2))
new_primCompAux00(x0, x1, EQ, ty_Float)
new_ltEs18(x0, x1, app(ty_Ratio, x2))
new_esEs39([], [], x0)
new_esEs10(x0, x1, ty_@0)
new_esEs38(x0, x1, ty_Bool)
new_esEs21(Double(x0, x1), Double(x2, x3))
new_primEqNat0(Succ(x0), Zero)
new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1)))
new_lt20(x0, x1, ty_Double)
new_ltEs4(Just(x0), Just(x1), app(ty_[], x2))
new_esEs35(x0, x1, ty_Float)
new_esEs5(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_esEs15(x0, x1, ty_Ordering)
new_lt20(x0, x1, ty_Integer)
new_compare33(x0, x1, x2, x3, ty_Int)
new_primCompAux00(x0, x1, EQ, ty_Ordering)
new_compare110(x0, x1, False)
new_esEs32(x0, x1, ty_Double)
new_esEs9(x0, x1, app(ty_Maybe, x2))
new_esEs38(x0, x1, app(ty_Maybe, x2))
new_compare6(x0, x1)
new_esEs29(x0, x1, ty_Int)
new_esEs34(x0, x1, ty_Bool)
new_esEs11(x0, x1, ty_Double)
new_lt13(x0, x1, ty_Char)
new_primCompAux00(x0, x1, EQ, ty_Integer)
new_esEs31(x0, x1, app(app(ty_Either, x2), x3))
new_lt6(Char(x0), Char(x1))
new_esEs12(x0, x1, ty_Bool)
new_compare24(x0, x1, False, x2, x3)
new_esEs15(x0, x1, ty_Integer)
new_esEs38(x0, x1, ty_Float)
new_lt16(Just(x0), Just(x1), x2)
new_esEs33(x0, x1, app(ty_Ratio, x2))
new_lt5(Neg(Zero), Pos(Succ(x0)))
new_lt5(Pos(Zero), Neg(Succ(x0)))
new_esEs26(x0, x1, ty_Int)
new_ltEs12(@2(x0, x1), @2(x2, x3), x4, x5)
new_esEs8(x0, x1, ty_Bool)
new_lt13(x0, x1, ty_Double)
new_esEs35(x0, x1, app(ty_[], x2))
new_lt12(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs18(x0, x1, ty_Char)
new_ltEs14(True, False)
new_ltEs14(False, True)
new_esEs33(x0, x1, ty_Char)
new_esEs33(x0, x1, ty_Int)
new_ltEs10(Right(x0), Right(x1), x2, ty_Integer)
new_compare32(x0, x1, x2, x3, ty_Integer)
new_esEs34(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs10(Left(x0), Left(x1), ty_Float, x2)
new_lt13(x0, x1, app(ty_[], x2))
new_esEs15(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs14(x0, x1, ty_Char)
new_compare26(x0, x1, True)
new_esEs32(x0, x1, ty_Char)
new_esEs4(Just(x0), Just(x1), app(ty_Maybe, x2))
new_esEs5(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_esEs26(x0, x1, app(ty_Maybe, x2))
new_lt17(True, True)
new_esEs18(True, True)
new_esEs31(x0, x1, ty_Int)
new_compare24(x0, x1, True, x2, x3)
new_esEs4(Just(x0), Just(x1), app(ty_[], x2))
new_esEs9(x0, x1, app(ty_[], x2))
new_esEs16(LT, GT)
new_esEs16(GT, LT)
new_esEs9(x0, x1, ty_Double)
new_ltEs18(x0, x1, app(ty_Maybe, x2))
new_primCompAux00(x0, x1, EQ, app(app(ty_Either, x2), x3))
new_esEs33(x0, x1, ty_Double)
new_compare111(x0, x1, True, x2, x3)
new_esEs32(x0, x1, app(ty_[], x2))
new_esEs31(x0, x1, app(app(ty_@2, x2), x3))
new_esEs33(x0, x1, ty_Bool)
new_esEs32(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs18(x0, x1, ty_Bool)
new_lt13(x0, x1, ty_Ordering)
new_esEs15(x0, x1, ty_@0)
new_esEs8(x0, x1, ty_Float)
new_esEs38(x0, x1, ty_Integer)
new_esEs14(x0, x1, ty_Double)
new_esEs5(Right(x0), Right(x1), x2, ty_Int)
new_primEqNat0(Zero, Succ(x0))
new_lt20(x0, x1, ty_Float)
new_lt4(Right(x0), Right(x1), x2, x3)
new_compare5(x0, x1)
new_esEs11(x0, x1, ty_Float)
new_ltEs19(x0, x1, ty_@0)
new_primCompAux1(x0, x1, x2, x3, x4)
new_compare28(x0, x1, True, x2)
new_primMulNat0(Zero, Succ(x0))
new_compare8(@0, @0)
new_compare26(x0, x1, False)
new_compare30(:(x0, x1), [], x2)
new_esEs36(Integer(x0), Integer(x1))
new_esEs4(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_compare(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs6(EQ, EQ)
new_lt13(x0, x1, app(app(ty_@2, x2), x3))
new_esEs13(x0, x1, ty_Int)
new_primCompAux00(x0, x1, EQ, ty_Int)
new_esEs5(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_esEs14(x0, x1, ty_Float)
new_lt18(:(x0, x1), [], x2)
new_esEs31(x0, x1, ty_Integer)
new_esEs32(x0, x1, app(app(ty_Either, x2), x3))
new_lt13(x0, x1, app(ty_Ratio, x2))
new_primCompAux00(x0, x1, EQ, app(app(app(ty_@3, x2), x3), x4))
new_compare27(x0, x1, False, x2, x3, x4)
new_esEs4(Just(x0), Just(x1), ty_Bool)
new_esEs34(x0, x1, app(ty_[], x2))
new_ltEs6(LT, EQ)
new_ltEs6(EQ, LT)
new_compare29(x0, x1)
new_sr(x0, x1)
new_ltEs18(x0, x1, app(app(ty_@2, x2), x3))
new_primMulNat0(Succ(x0), Succ(x1))
new_esEs12(x0, x1, ty_@0)
new_esEs10(x0, x1, ty_Bool)
new_primEqNat0(Zero, Zero)
new_pePe(False, x0, x1, x2, x3)
new_esEs15(x0, x1, ty_Float)
new_lt13(x0, x1, app(ty_Maybe, x2))
new_esEs4(Just(x0), Just(x1), ty_Integer)
new_lt15(@0, @0)
new_ltEs4(Just(x0), Just(x1), ty_Integer)
new_esEs22([], :(x0, x1), x2)
new_esEs11(x0, x1, ty_@0)
new_compare16(x0, x1, x2, x3)
new_esEs14(x0, x1, app(ty_Ratio, x2))
new_esEs24(:%(x0, x1), :%(x2, x3), x4)
new_ltEs10(Right(x0), Right(x1), x2, app(ty_[], x3))
new_esEs22(:(x0, x1), [], x2)
new_lt5(Pos(Zero), Pos(Zero))
new_compare(x0, x1, ty_Char)
new_ltEs10(Right(x0), Right(x1), x2, ty_Float)
new_lt20(x0, x1, app(app(ty_@2, x2), x3))
new_lt14(EQ, LT)
new_lt14(LT, EQ)
new_compare10(x0, x1, False, x2, x3)
new_esEs26(x0, x1, ty_Integer)
new_esEs9(x0, x1, app(app(ty_@2, x2), x3))
new_primMulInt(Pos(x0), Pos(x1))
new_lt14(GT, GT)
new_compare10(x0, x1, True, x2, x3)
new_lt20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs10(Left(x0), Left(x1), ty_Ordering, x2)
new_primMulNat0(Zero, Zero)
new_esEs4(Just(x0), Just(x1), app(ty_Ratio, x2))
new_esEs22(:(x0, x1), :(x2, x3), x4)
new_ltEs8(x0, x1)
new_esEs26(x0, x1, ty_Char)
new_compare(x0, x1, ty_Double)
new_esEs13(x0, x1, ty_Float)
new_esEs4(Just(x0), Just(x1), ty_Int)
new_lt5(Pos(Zero), Pos(Succ(x0)))
new_lt4(Right(x0), Left(x1), x2, x3)
new_lt4(Left(x0), Right(x1), x2, x3)
new_lt12(x0, x1, ty_Ordering)
new_esEs30(x0, x1, ty_Int)
new_esEs9(x0, x1, ty_Float)
new_ltEs10(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_esEs14(x0, x1, app(app(ty_Either, x2), x3))
new_primPlusNat1(Succ(x0), Zero)
new_lt12(x0, x1, app(ty_Ratio, x2))
new_lt16(Just(x0), Nothing, x1)
new_esEs34(x0, x1, ty_Int)
new_compare17(x0, x1, x2, x3, x4)
new_ltEs10(Right(x0), Right(x1), x2, ty_Bool)
new_esEs8(x0, x1, app(app(ty_Either, x2), x3))
new_esEs35(x0, x1, ty_Integer)
new_esEs35(x0, x1, app(ty_Maybe, x2))
new_lt16(Nothing, Nothing, x0)
new_esEs12(x0, x1, ty_Int)
new_esEs12(x0, x1, ty_Ordering)
new_esEs13(x0, x1, ty_Integer)
new_lt20(x0, x1, ty_Char)
new_esEs13(x0, x1, app(ty_Ratio, x2))
new_esEs26(x0, x1, ty_Ordering)
new_ltEs4(Just(x0), Just(x1), ty_Char)
new_ltEs13(x0, x1)
new_primCompAux00(x0, x1, EQ, ty_Char)
new_esEs16(GT, GT)
new_compare13(x0, x1, True, x2)
new_esEs15(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs18(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs11(x0, x1, ty_Char)
new_ltEs4(Just(x0), Just(x1), ty_Double)
new_lt13(x0, x1, app(app(ty_Either, x2), x3))
new_esEs5(Right(x0), Right(x1), x2, app(ty_[], x3))
new_esEs25(x0, x1)
new_compare7(x0, x1)
new_ltEs10(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_ltEs4(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_esEs12(x0, x1, app(ty_[], x2))
new_asAs(True, x0)
new_esEs31(x0, x1, app(ty_Maybe, x2))
new_esEs39(:(x0, x1), :(x2, x3), x4)
new_esEs10(x0, x1, app(app(ty_@2, x2), x3))
new_lt20(x0, x1, ty_@0)
new_compare(x0, x1, app(app(ty_@2, x2), x3))
new_esEs35(x0, x1, app(app(ty_Either, x2), x3))
new_esEs8(x0, x1, ty_Char)
new_primEqInt(Neg(Zero), Neg(Succ(x0)))
new_ltEs6(GT, LT)
new_ltEs6(LT, GT)
new_esEs13(x0, x1, app(app(ty_Either, x2), x3))
new_lt19(Float(x0, x1), Float(x2, x3))
new_esEs14(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primCompAux00(x0, x1, EQ, ty_@0)
new_esEs9(x0, x1, ty_Integer)
new_esEs38(x0, x1, ty_@0)
new_ltEs4(Nothing, Nothing, x0)
new_esEs8(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs18(False, False)
new_ltEs10(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_primPlusNat1(Succ(x0), Succ(x1))
new_esEs12(x0, x1, app(app(ty_Either, x2), x3))
new_lt12(x0, x1, ty_@0)
new_esEs5(Right(x0), Left(x1), x2, x3)
new_esEs5(Left(x0), Right(x1), x2, x3)
new_compare15(:%(x0, x1), :%(x2, x3), ty_Integer)
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_ltEs19(x0, x1, app(ty_[], x2))
new_esEs4(Nothing, Nothing, x0)
new_esEs14(x0, x1, ty_Int)
new_esEs35(x0, x1, ty_Char)
new_esEs26(x0, x1, ty_Double)
new_compare9(x0, x1)
new_ltEs19(x0, x1, ty_Integer)
new_esEs8(x0, x1, ty_Ordering)
new_esEs12(x0, x1, ty_Char)
new_esEs31(x0, x1, ty_Float)
new_esEs12(x0, x1, app(app(ty_@2, x2), x3))
new_esEs20(Integer(x0), Integer(x1))
new_esEs33(x0, x1, app(ty_Maybe, x2))
new_esEs32(x0, x1, app(ty_Ratio, x2))
new_esEs14(x0, x1, ty_Ordering)
new_primPlusNat1(Zero, Zero)
new_esEs4(Just(x0), Nothing, x1)
new_primCmpInt(Neg(Succ(x0)), Neg(x1))
new_compare210(x0, x1, True)
new_esEs10(x0, x1, ty_Ordering)
new_primCompAux00(x0, x1, LT, x2)
new_ltEs10(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_esEs13(x0, x1, ty_Char)
new_esEs8(x0, x1, ty_Integer)
new_ltEs4(Just(x0), Just(x1), ty_Bool)
new_ltEs10(Right(x0), Right(x1), x2, ty_Ordering)
new_esEs5(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_esEs31(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt14(GT, EQ)
new_lt14(EQ, GT)
new_esEs15(x0, x1, app(ty_Ratio, x2))
new_compare13(x0, x1, False, x2)
new_ltEs19(x0, x1, ty_Char)
new_lt12(x0, x1, ty_Double)
new_esEs8(x0, x1, app(ty_Ratio, x2))
new_ltEs4(Just(x0), Just(x1), ty_Float)
new_lt17(False, True)
new_lt17(True, False)
new_primCompAux00(x0, x1, EQ, app(app(ty_@2, x2), x3))
new_esEs9(x0, x1, app(app(ty_Either, x2), x3))
new_primCmpInt(Neg(Zero), Neg(Zero))
new_ltEs19(x0, x1, app(app(ty_Either, x2), x3))
new_primEqInt(Pos(Zero), Neg(Succ(x0)))
new_primEqInt(Neg(Zero), Pos(Succ(x0)))
new_esEs17(Char(x0), Char(x1))
new_lt12(x0, x1, ty_Integer)
new_compare(x0, x1, app(ty_Ratio, x2))
new_ltEs19(x0, x1, app(app(ty_@2, x2), x3))
new_compare27(x0, x1, True, x2, x3, x4)
new_pePe(True, x0, x1, x2, x3)
new_compare(x0, x1, app(ty_[], x2))
new_esEs6(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_lt12(x0, x1, app(ty_Maybe, x2))
new_esEs12(x0, x1, ty_Double)
new_primMulNat0(Succ(x0), Zero)
new_compare(x0, x1, app(ty_Maybe, x2))
new_ltEs10(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_esEs35(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs10(Left(x0), Left(x1), ty_Integer, x2)
new_lt14(EQ, EQ)
new_ltEs18(x0, x1, ty_Double)
new_esEs35(x0, x1, app(ty_Ratio, x2))
new_compare19(Integer(x0), Integer(x1))
new_esEs11(x0, x1, ty_Ordering)
new_esEs14(x0, x1, ty_Integer)
new_ltEs10(Right(x0), Right(x1), x2, ty_Double)
new_esEs10(x0, x1, app(ty_Maybe, x2))
new_esEs11(x0, x1, app(ty_[], x2))
new_esEs31(x0, x1, ty_Bool)
new_lt12(x0, x1, ty_Char)
new_ltEs10(Left(x0), Left(x1), ty_Int, x2)
new_esEs15(x0, x1, ty_Int)
new_esEs35(x0, x1, ty_Ordering)
new_esEs4(Nothing, Just(x0), x1)
new_esEs12(x0, x1, app(ty_Ratio, x2))
new_esEs5(Right(x0), Right(x1), x2, ty_Bool)
new_esEs11(x0, x1, ty_Integer)
new_esEs38(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt18([], [], x0)
new_esEs32(x0, x1, ty_Bool)
new_esEs7(@2(x0, x1), @2(x2, x3), x4, x5)
new_lt12(x0, x1, ty_Int)
new_ltEs10(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_primEqNat0(Succ(x0), Succ(x1))
new_primEqInt(Neg(Zero), Pos(Zero))
new_primEqInt(Pos(Zero), Neg(Zero))
new_esEs31(x0, x1, ty_@0)
new_ltEs7(x0, x1)
new_esEs32(x0, x1, ty_Ordering)
new_esEs35(x0, x1, app(app(ty_@2, x2), x3))
new_lt12(x0, x1, ty_Float)
new_lt20(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs18(x0, x1, ty_Integer)
new_lt13(x0, x1, ty_Int)
new_esEs30(x0, x1, ty_Integer)
new_lt16(Nothing, Just(x0), x1)
new_esEs4(Just(x0), Just(x1), ty_@0)
new_esEs23(Float(x0, x1), Float(x2, x3))
new_esEs5(Right(x0), Right(x1), x2, ty_Char)
new_compare30([], :(x0, x1), x2)
new_compare(x0, x1, app(app(ty_Either, x2), x3))
new_esEs37(:%(x0, x1), :%(x2, x3), x4)
new_esEs34(x0, x1, app(app(ty_Either, x2), x3))
new_lt8(Integer(x0), Integer(x1))
new_esEs9(x0, x1, ty_Int)
new_ltEs19(x0, x1, ty_Float)
new_primCmpInt(Pos(Zero), Pos(Zero))
new_esEs18(False, True)
new_esEs18(True, False)
new_esEs5(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_ltEs4(Nothing, Just(x0), x1)
new_ltEs18(x0, x1, ty_Float)
new_esEs13(x0, x1, app(ty_Maybe, x2))
new_compare(x0, x1, ty_Integer)
new_compare110(x0, x1, True)
new_esEs14(x0, x1, ty_@0)
new_esEs5(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_primEqInt(Neg(Zero), Neg(Zero))
new_esEs38(x0, x1, ty_Ordering)
new_compare12(x0, x1, True, x2, x3, x4)
new_esEs39(:(x0, x1), [], x2)
new_lt5(Neg(Zero), Neg(Succ(x0)))
new_esEs32(x0, x1, ty_Float)
new_compare30([], [], x0)
new_esEs38(x0, x1, ty_Char)
new_esEs38(x0, x1, ty_Double)
new_esEs13(x0, x1, ty_@0)
new_esEs15(x0, x1, ty_Bool)
new_esEs33(x0, x1, app(app(ty_@2, x2), x3))
new_esEs16(LT, LT)
new_compare18(x0, x1, x2, x3)
new_esEs11(x0, x1, app(ty_Ratio, x2))
new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1)))
new_esEs35(x0, x1, ty_Double)
new_compare14(x0, x1, x2)
new_ltEs18(x0, x1, ty_Ordering)
new_primCompAux00(x0, x1, EQ, app(ty_Ratio, x2))
new_asAs(False, x0)
new_esEs11(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs32(x0, x1, ty_Integer)
new_esEs11(x0, x1, ty_Int)
new_lt12(x0, x1, ty_Bool)
new_esEs26(x0, x1, app(ty_[], x2))
new_esEs34(x0, x1, app(app(ty_@2, x2), x3))
new_esEs4(Just(x0), Just(x1), ty_Float)
new_lt9(Double(x0, x1), Double(x2, x3))
new_ltEs4(Just(x0), Just(x1), app(ty_Ratio, x2))
new_ltEs4(Just(x0), Just(x1), ty_Ordering)
new_esEs32(x0, x1, ty_@0)
new_esEs26(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primCmpNat0(Zero, Succ(x0))
new_esEs11(x0, x1, ty_Bool)
new_ltEs19(x0, x1, ty_Bool)
new_esEs5(Right(x0), Right(x1), x2, ty_Float)
new_primMulInt(Neg(x0), Neg(x1))
new_lt5(Neg(Succ(x0)), Neg(x1))
new_lt5(Neg(Zero), Neg(Zero))
new_esEs10(x0, x1, app(ty_[], x2))
new_esEs8(x0, x1, app(ty_Maybe, x2))
new_esEs10(x0, x1, app(ty_Ratio, x2))
new_esEs10(x0, x1, ty_Double)
new_esEs11(x0, x1, app(app(ty_@2, x2), x3))
new_primCompAux00(x0, x1, EQ, ty_Bool)
new_compare11(x0, x1, True)
new_lt10(:%(x0, x1), :%(x2, x3), x4)
new_esEs9(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs18(x0, x1, ty_@0)
new_ltEs6(GT, GT)
new_esEs8(x0, x1, ty_Int)
new_compare31(x0, x1)
new_lt20(x0, x1, ty_Ordering)
new_esEs12(x0, x1, ty_Float)
new_ltEs10(Right(x0), Right(x1), x2, ty_@0)
new_esEs31(x0, x1, app(ty_[], x2))
new_primEqInt(Pos(Succ(x0)), Neg(x1))
new_primEqInt(Neg(Succ(x0)), Pos(x1))
new_esEs5(Right(x0), Right(x1), x2, ty_@0)
new_esEs10(x0, x1, ty_Float)
new_esEs26(x0, x1, ty_@0)
new_ltEs4(Just(x0), Just(x1), ty_Int)
new_compare30(:(x0, x1), :(x2, x3), x4)
new_esEs5(Left(x0), Left(x1), ty_Char, x2)
new_esEs4(Just(x0), Just(x1), ty_Char)
new_esEs38(x0, x1, app(ty_[], x2))
new_esEs5(Right(x0), Right(x1), x2, ty_Integer)
new_compare(x0, x1, ty_@0)
new_esEs35(x0, x1, ty_Bool)
new_primEqInt(Neg(Succ(x0)), Neg(Zero))
new_ltEs19(x0, x1, app(ty_Maybe, x2))
new_lt13(x0, x1, ty_Bool)
new_compare28(x0, x1, False, x2)
new_esEs33(x0, x1, ty_Integer)
new_esEs14(x0, x1, app(app(ty_@2, x2), x3))
new_esEs38(x0, x1, app(app(ty_@2, x2), x3))
new_esEs34(x0, x1, ty_Char)
new_esEs33(x0, x1, ty_Float)
new_lt18(:(x0, x1), :(x2, x3), x4)
new_primCmpNat0(Zero, Zero)
new_esEs5(Left(x0), Left(x1), ty_@0, x2)
new_esEs9(x0, x1, ty_Ordering)
new_ltEs10(Left(x0), Left(x1), ty_Double, x2)
new_esEs26(x0, x1, app(app(ty_Either, x2), x3))
new_esEs35(x0, x1, ty_Int)
new_ltEs6(LT, LT)
new_ltEs10(Left(x0), Left(x1), app(ty_[], x2), x3)
new_esEs34(x0, x1, ty_Ordering)
new_ltEs10(Left(x0), Left(x1), ty_Char, x2)
new_lt7(@2(x0, x1), @2(x2, x3), x4, x5)
new_ltEs10(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_ltEs10(Right(x0), Left(x1), x2, x3)
new_ltEs10(Left(x0), Right(x1), x2, x3)
new_primPlusNat1(Zero, Succ(x0))
new_esEs5(Left(x0), Left(x1), ty_Bool, x2)
new_esEs15(x0, x1, app(ty_Maybe, x2))
new_esEs32(x0, x1, app(ty_Maybe, x2))
new_esEs13(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs19(x0, x1, ty_Ordering)
new_compare210(x0, x1, False)
new_esEs10(x0, x1, ty_Integer)
new_primCompAux00(x0, x1, EQ, ty_Double)
new_primCompAux00(x0, x1, GT, x2)
new_esEs15(x0, x1, ty_Char)
new_esEs34(x0, x1, ty_Float)
new_esEs9(x0, x1, ty_Char)
new_esEs11(x0, x1, app(app(ty_Either, x2), x3))
new_esEs9(x0, x1, ty_@0)
new_lt12(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs10(x0, x1, ty_Int)
new_primCmpDouble(Double(x0, x1), Double(x2, x3))
new_lt14(LT, GT)
new_lt14(GT, LT)
new_esEs9(x0, x1, ty_Bool)
new_primEqInt(Pos(Succ(x0)), Pos(Zero))
new_esEs34(x0, x1, ty_@0)
new_esEs4(Just(x0), Just(x1), ty_Double)
new_ltEs15(x0, x1, x2)
new_ltEs4(Just(x0), Just(x1), app(ty_Maybe, x2))
new_lt5(Pos(Succ(x0)), Pos(x1))
new_primCompAux00(x0, x1, EQ, app(ty_Maybe, x2))
new_compare11(x0, x1, False)
new_esEs4(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_primMulInt(Neg(x0), Pos(x1))
new_primMulInt(Pos(x0), Neg(x1))
new_ltEs14(True, True)
new_compare25(x0, x1, True, x2, x3)
new_ltEs11(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_lt5(Neg(Succ(x0)), Pos(x1))
new_lt5(Pos(Succ(x0)), Neg(x1))
new_ltEs14(False, False)
new_ltEs4(Just(x0), Nothing, x1)
new_primCmpNat0(Succ(x0), Succ(x1))
new_primEqInt(Pos(Zero), Pos(Succ(x0)))
new_compare(x0, x1, ty_Ordering)
new_compare(x0, x1, ty_Int)
new_lt14(LT, LT)
new_esEs39([], :(x0, x1), x2)
new_esEs12(x0, x1, ty_Integer)
new_not(True)
new_ltEs10(Right(x0), Right(x1), x2, ty_Int)
new_ltEs19(x0, x1, app(ty_Ratio, x2))
new_esEs33(x0, x1, ty_Ordering)
new_ltEs10(Left(x0), Left(x1), ty_@0, x2)
new_esEs29(x0, x1, ty_Integer)
new_esEs11(x0, x1, app(ty_Maybe, x2))
new_ltEs16(x0, x1)
new_esEs33(x0, x1, app(app(ty_Either, x2), x3))
new_esEs16(EQ, LT)
new_esEs16(LT, EQ)
new_esEs27(@0, @0)
new_esEs5(Left(x0), Left(x1), ty_Float, x2)
new_esEs26(x0, x1, app(ty_Ratio, x2))
new_ltEs10(Left(x0), Left(x1), ty_Bool, x2)
new_esEs12(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs5(x0, x1)
new_esEs16(EQ, EQ)
new_ltEs4(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_esEs5(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_esEs14(x0, x1, app(ty_[], x2))
new_ltEs4(Just(x0), Just(x1), ty_@0)
new_primCmpInt(Neg(Zero), Pos(Zero))
new_primCmpInt(Pos(Zero), Neg(Zero))
new_compare32(x0, x1, x2, x3, ty_Int)
new_not(False)
new_esEs38(x0, x1, ty_Int)
new_esEs22([], [], x0)
new_lt13(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt20(x0, x1, app(ty_Ratio, x2))
new_esEs34(x0, x1, ty_Double)
new_compare(x0, x1, ty_Bool)
new_compare(x0, x1, ty_Float)
new_ltEs6(EQ, GT)
new_ltEs6(GT, EQ)
new_esEs15(x0, x1, app(app(ty_@2, x2), x3))
new_esEs10(x0, x1, app(app(ty_Either, x2), x3))
new_esEs5(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_esEs38(x0, x1, app(ty_Ratio, x2))
new_esEs14(x0, x1, ty_Bool)
new_esEs32(x0, x1, ty_Int)
new_esEs8(x0, x1, app(ty_[], x2))
new_esEs33(x0, x1, app(ty_[], x2))
new_compare111(x0, x1, False, x2, x3)
new_compare12(x0, x1, False, x2, x3, x4)
new_lt20(x0, x1, app(ty_Maybe, x2))
new_esEs5(Left(x0), Left(x1), ty_Integer, x2)
new_esEs14(x0, x1, app(ty_Maybe, x2))
new_sr0(Integer(x0), Integer(x1))
new_esEs5(Right(x0), Right(x1), x2, ty_Ordering)
new_esEs8(x0, x1, app(app(ty_@2, x2), x3))
new_esEs34(x0, x1, app(ty_Maybe, x2))
new_ltEs19(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_ltEs10(Right(x0), Right(x1), x2, ty_Char)
new_esEs5(Left(x0), Left(x1), ty_Ordering, x2)
new_lt13(x0, x1, ty_Integer)
new_ltEs18(x0, x1, ty_Int)
new_ltEs18(x0, x1, app(ty_[], x2))
new_esEs28(x0, x1)
new_lt20(x0, x1, app(ty_[], x2))
new_esEs16(EQ, GT)
new_esEs16(GT, EQ)
new_esEs13(x0, x1, ty_Double)
new_compare33(x0, x1, x2, x3, ty_Integer)
new_esEs5(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_esEs13(x0, x1, ty_Bool)
new_compare25(x0, x1, False, x2, x3)
new_esEs26(x0, x1, ty_Float)
new_lt12(x0, x1, app(app(ty_@2, x2), x3))
new_esEs5(Left(x0), Left(x1), ty_Double, x2)
new_primCmpFloat(Float(x0, x1), Float(x2, x3))
new_esEs38(x0, x1, app(app(ty_Either, x2), x3))
new_esEs31(x0, x1, ty_Ordering)
new_esEs10(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs26(x0, x1, app(app(ty_@2, x2), x3))
new_esEs15(x0, x1, app(ty_[], x2))
new_esEs33(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs4(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_ltEs19(x0, x1, ty_Int)
new_primPlusNat0(Succ(x0), x1)
new_esEs33(x0, x1, ty_@0)
new_esEs32(x0, x1, app(app(ty_@2, x2), x3))
new_esEs15(x0, x1, ty_Double)
new_ltEs10(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_ltEs4(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_ltEs18(x0, x1, app(app(ty_Either, x2), x3))
new_compare15(:%(x0, x1), :%(x2, x3), ty_Int)
new_ltEs10(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_esEs34(x0, x1, ty_Integer)
new_primEqInt(Pos(Zero), Pos(Zero))
new_lt11(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_esEs34(x0, x1, app(ty_Ratio, x2))
new_lt13(x0, x1, ty_Float)
new_esEs4(Just(x0), Just(x1), ty_Ordering)
new_ltEs19(x0, x1, ty_Double)
new_esEs31(x0, x1, ty_Char)
new_esEs12(x0, x1, app(ty_Maybe, x2))
new_esEs26(x0, x1, ty_Bool)
new_lt20(x0, x1, ty_Bool)
new_primCmpChar(Char(x0), Char(x1))
new_esEs19(@0, @0)
new_esEs5(Left(x0), Left(x1), app(ty_[], x2), x3)
new_primCmpNat0(Succ(x0), Zero)
new_lt12(x0, x1, app(ty_[], x2))
new_lt13(x0, x1, ty_@0)
new_esEs13(x0, x1, app(ty_[], x2))
new_primCompAux00(x0, x1, EQ, app(ty_[], x2))
new_esEs9(x0, x1, app(ty_Ratio, x2))
new_esEs8(x0, x1, ty_Double)
new_esEs5(Left(x0), Left(x1), ty_Int, x2)
new_lt20(x0, x1, ty_Int)
new_ltEs17(x0, x1)
new_primCmpInt(Pos(Succ(x0)), Pos(x1))
new_primPlusNat0(Zero, x0)
new_esEs13(x0, x1, ty_Ordering)
new_esEs35(x0, x1, ty_@0)

We have to consider all minimal (P,Q,R)-chains.
The approximation of the Dependency Graph [15,17,22] contains 1 SCC with 5 less nodes.

↳ HASKELL
  ↳ CR
    ↳ HASKELL
      ↳ IFR
        ↳ HASKELL
          ↳ BR
            ↳ HASKELL
              ↳ COR
                ↳ HASKELL
                  ↳ LetRed
                    ↳ HASKELL
                      ↳ NumRed
                        ↳ HASKELL
                          ↳ Narrow
                            ↳ AND
                              ↳ QDP
                              ↳ QDP
                              ↳ QDP
                              ↳ QDP
                              ↳ QDP
                              ↳ QDP
                                ↳ DependencyGraphProof
QDP
                                    ↳ UsableRulesProof

Q DP problem:
The TRS P consists of the following rules:

new_ltEs1(@3(vwx300, vwx301, vwx302), @3(vwx400, vwx401, vwx402), eg, app(app(ty_Either, ge), gf), gd) → new_lt0(vwx301, vwx401, ge, gf)
new_ltEs2(@2(vwx300, vwx301), @2(vwx400, vwx401), app(ty_Maybe, bbh), bca) → new_lt(vwx300, vwx400, bbh)
new_ltEs0(Left(vwx300), Left(vwx400), app(ty_[], dd), cc) → new_ltEs3(vwx300, vwx400, dd)
new_ltEs2(@2(vwx300, vwx301), @2(vwx400, vwx401), app(app(ty_@2, bcg), bch), bca) → new_lt2(vwx300, vwx400, bcg, bch)
new_ltEs2(@2(vwx300, vwx301), @2(vwx400, vwx401), app(ty_[], bda), bca) → new_lt3(vwx300, vwx400, bda)
new_ltEs1(@3(vwx300, vwx301, vwx302), @3(vwx400, vwx401, vwx402), eg, app(app(app(ty_@3, gg), gh), ha), gd) → new_lt1(vwx301, vwx401, gg, gh, ha)
new_ltEs2(@2(vwx300, vwx301), @2(vwx400, vwx401), baf, app(ty_Maybe, bag)) → new_ltEs(vwx301, vwx401, bag)
new_lt(Just(vwx300), Just(vwx400), bgg) → new_compare20(Just(vwx300), Just(vwx400), new_esEs8(vwx300, vwx400, bgg), bgg)
new_primCompAux(vwx300, vwx400, vwx301, vwx401, app(app(app(ty_@3, bdg), bdh), bea)) → new_compare2(vwx300, vwx400, bdg, bdh, bea)
new_ltEs1(@3(vwx300, vwx301, vwx302), @3(vwx400, vwx401, vwx402), eg, eh, app(ty_[], gb)) → new_ltEs3(vwx302, vwx402, gb)
new_lt3(:(vwx300, vwx301), :(vwx400, vwx401), app(app(ty_Either, bde), bdf)) → new_compare1(vwx300, vwx400, bde, bdf)
new_ltEs(Just(vwx300), Just(vwx400), app(app(ty_Either, bb), bc)) → new_ltEs0(vwx300, vwx400, bb, bc)
new_ltEs1(@3(vwx300, vwx301, vwx302), @3(vwx400, vwx401, vwx402), app(ty_Maybe, he), eh, gd) → new_lt(vwx300, vwx400, he)
new_ltEs1(@3(vwx300, vwx301, vwx302), @3(vwx400, vwx401, vwx402), eg, eh, app(app(ty_@2, fh), ga)) → new_ltEs2(vwx302, vwx402, fh, ga)
new_ltEs3(:(vwx300, vwx301), :(vwx400, vwx401), bdb) → new_primCompAux(vwx300, vwx400, vwx301, vwx401, bdb)
new_compare21(vwx30, vwx40, False, bfg, bfh) → new_ltEs0(vwx30, vwx40, bfg, bfh)
new_lt3(:(vwx300, vwx301), :(vwx400, vwx401), app(app(ty_@2, beb), bec)) → new_compare3(vwx300, vwx400, beb, bec)
new_ltEs2(@2(vwx300, vwx301), @2(vwx400, vwx401), app(app(ty_Either, bcb), bcc), bca) → new_lt0(vwx300, vwx400, bcb, bcc)
new_lt(Nothing, Just(vwx400), bgg) → new_compare20(Nothing, Just(vwx400), False, bgg)
new_lt(Just(vwx300), Nothing, bgg) → new_compare20(Just(vwx300), Nothing, False, bgg)
new_ltEs(Just(vwx300), Just(vwx400), app(app(app(ty_@3, bd), be), bf)) → new_ltEs1(vwx300, vwx400, bd, be, bf)
new_ltEs1(@3(vwx300, vwx301, vwx302), @3(vwx400, vwx401, vwx402), app(ty_[], bae), eh, gd) → new_lt3(vwx300, vwx400, bae)
new_ltEs0(Left(vwx300), Left(vwx400), app(app(ty_Either, cd), ce), cc) → new_ltEs0(vwx300, vwx400, cd, ce)
new_primCompAux(vwx300, vwx400, vwx301, vwx401, app(app(ty_@2, beb), bec)) → new_compare3(vwx300, vwx400, beb, bec)
new_ltEs(Just(vwx300), Just(vwx400), app(ty_Maybe, ba)) → new_ltEs(vwx300, vwx400, ba)
new_ltEs1(@3(vwx300, vwx301, vwx302), @3(vwx400, vwx401, vwx402), app(app(ty_Either, hf), hg), eh, gd) → new_lt0(vwx300, vwx400, hf, hg)
new_ltEs1(@3(vwx300, vwx301, vwx302), @3(vwx400, vwx401, vwx402), eg, app(app(ty_@2, hb), hc), gd) → new_lt2(vwx301, vwx401, hb, hc)
new_ltEs2(@2(vwx300, vwx301), @2(vwx400, vwx401), baf, app(ty_[], bbg)) → new_ltEs3(vwx301, vwx401, bbg)
new_lt2(@2(vwx300, vwx301), @2(vwx400, vwx401), bhe, bhf) → new_compare23(@2(vwx300, vwx301), @2(vwx400, vwx401), new_asAs(new_esEs15(vwx300, vwx400, bhe), new_esEs14(vwx301, vwx401, bhf)), bhe, bhf)
new_ltEs(Just(vwx300), Just(vwx400), app(app(ty_@2, bg), bh)) → new_ltEs2(vwx300, vwx400, bg, bh)
new_compare4(:(vwx300, vwx301), :(vwx400, vwx401), bgf) → new_primCompAux(vwx300, vwx400, vwx301, vwx401, bgf)
new_primCompAux0(vwx176, vwx177, EQ, app(ty_[], bfe)) → new_compare4(vwx176, vwx177, bfe)
new_ltEs(Just(vwx300), Just(vwx400), app(ty_[], ca)) → new_ltEs3(vwx300, vwx400, ca)
new_compare1(vwx30, vwx40, bfg, bfh) → new_compare21(vwx30, vwx40, new_esEs5(vwx30, vwx40, bfg, bfh), bfg, bfh)
new_ltEs1(@3(vwx300, vwx301, vwx302), @3(vwx400, vwx401, vwx402), eg, eh, app(app(ty_Either, fb), fc)) → new_ltEs0(vwx302, vwx402, fb, fc)
new_ltEs0(Left(vwx300), Left(vwx400), app(ty_Maybe, cb), cc) → new_ltEs(vwx300, vwx400, cb)
new_lt3(:(vwx300, vwx301), :(vwx400, vwx401), bdc) → new_primCompAux0(vwx301, vwx401, new_compare(vwx300, vwx400, bdc), app(ty_[], bdc))
new_compare22(vwx30, vwx40, False, bga, bgb, bgc) → new_ltEs1(vwx30, vwx40, bga, bgb, bgc)
new_lt3(:(vwx300, vwx301), :(vwx400, vwx401), app(ty_Maybe, bdd)) → new_compare0(vwx300, vwx400, bdd)
new_compare2(vwx30, vwx40, bga, bgb, bgc) → new_compare22(vwx30, vwx40, new_esEs6(vwx30, vwx40, bga, bgb, bgc), bga, bgb, bgc)
new_ltEs0(Right(vwx300), Right(vwx400), de, app(app(ty_Either, dg), dh)) → new_ltEs0(vwx300, vwx400, dg, dh)
new_ltEs0(Right(vwx300), Right(vwx400), de, app(ty_[], ef)) → new_ltEs3(vwx300, vwx400, ef)
new_lt3(:(vwx300, vwx301), :(vwx400, vwx401), app(app(app(ty_@3, bdg), bdh), bea)) → new_compare2(vwx300, vwx400, bdg, bdh, bea)
new_ltEs1(@3(vwx300, vwx301, vwx302), @3(vwx400, vwx401, vwx402), eg, app(ty_Maybe, gc), gd) → new_lt(vwx301, vwx401, gc)
new_ltEs2(@2(vwx300, vwx301), @2(vwx400, vwx401), baf, app(app(app(ty_@3, bbb), bbc), bbd)) → new_ltEs1(vwx301, vwx401, bbb, bbc, bbd)
new_ltEs2(@2(vwx300, vwx301), @2(vwx400, vwx401), baf, app(app(ty_@2, bbe), bbf)) → new_ltEs2(vwx301, vwx401, bbe, bbf)
new_ltEs0(Left(vwx300), Left(vwx400), app(app(ty_@2, db), dc), cc) → new_ltEs2(vwx300, vwx400, db, dc)
new_compare0(vwx30, vwx40, bff) → new_compare20(vwx30, vwx40, new_esEs4(vwx30, vwx40, bff), bff)
new_ltEs1(@3(vwx300, vwx301, vwx302), @3(vwx400, vwx401, vwx402), eg, app(ty_[], hd), gd) → new_lt3(vwx301, vwx401, hd)
new_ltEs0(Right(vwx300), Right(vwx400), de, app(ty_Maybe, df)) → new_ltEs(vwx300, vwx400, df)
new_compare23(vwx30, vwx40, False, bgd, bge) → new_ltEs2(vwx30, vwx40, bgd, bge)
new_primCompAux(vwx300, vwx400, vwx301, vwx401, app(ty_[], bed)) → new_compare4(vwx300, vwx400, bed)
new_ltEs1(@3(vwx300, vwx301, vwx302), @3(vwx400, vwx401, vwx402), eg, eh, app(ty_Maybe, fa)) → new_ltEs(vwx302, vwx402, fa)
new_ltEs1(@3(vwx300, vwx301, vwx302), @3(vwx400, vwx401, vwx402), eg, eh, app(app(app(ty_@3, fd), ff), fg)) → new_ltEs1(vwx302, vwx402, fd, ff, fg)
new_ltEs0(Right(vwx300), Right(vwx400), de, app(app(ty_@2, ed), ee)) → new_ltEs2(vwx300, vwx400, ed, ee)
new_ltEs2(@2(vwx300, vwx301), @2(vwx400, vwx401), app(app(app(ty_@3, bcd), bce), bcf), bca) → new_lt1(vwx300, vwx400, bcd, bce, bcf)
new_ltEs2(@2(vwx300, vwx301), @2(vwx400, vwx401), baf, app(app(ty_Either, bah), bba)) → new_ltEs0(vwx301, vwx401, bah, bba)
new_lt0(Right(vwx300), Left(vwx400), bgh, bha) → new_compare21(Right(vwx300), Left(vwx400), False, bgh, bha)
new_lt0(Left(vwx300), Right(vwx400), bgh, bha) → new_compare21(Left(vwx300), Right(vwx400), False, bgh, bha)
new_lt1(@3(vwx300, vwx301, vwx302), @3(vwx400, vwx401, vwx402), bhb, bhc, bhd) → new_compare22(@3(vwx300, vwx301, vwx302), @3(vwx400, vwx401, vwx402), new_asAs(new_esEs13(vwx300, vwx400, bhb), new_asAs(new_esEs12(vwx301, vwx401, bhc), new_esEs11(vwx302, vwx402, bhd))), bhb, bhc, bhd)
new_ltEs0(Left(vwx300), Left(vwx400), app(app(app(ty_@3, cf), cg), da), cc) → new_ltEs1(vwx300, vwx400, cf, cg, da)
new_ltEs1(@3(vwx300, vwx301, vwx302), @3(vwx400, vwx401, vwx402), app(app(ty_@2, bac), bad), eh, gd) → new_lt2(vwx300, vwx400, bac, bad)
new_primCompAux(vwx300, vwx400, vwx301, vwx401, bdc) → new_primCompAux0(vwx301, vwx401, new_compare(vwx300, vwx400, bdc), app(ty_[], bdc))
new_primCompAux(vwx300, vwx400, vwx301, vwx401, app(app(ty_Either, bde), bdf)) → new_compare1(vwx300, vwx400, bde, bdf)
new_compare3(vwx30, vwx40, bgd, bge) → new_compare23(vwx30, vwx40, new_esEs7(vwx30, vwx40, bgd, bge), bgd, bge)
new_lt0(Right(vwx300), Right(vwx400), bgh, bha) → new_compare21(Right(vwx300), Right(vwx400), new_esEs10(vwx300, vwx400, bha), bgh, bha)
new_lt3(:(vwx300, vwx301), :(vwx400, vwx401), app(ty_[], bed)) → new_compare4(vwx300, vwx400, bed)
new_ltEs1(@3(vwx300, vwx301, vwx302), @3(vwx400, vwx401, vwx402), app(app(app(ty_@3, hh), baa), bab), eh, gd) → new_lt1(vwx300, vwx400, hh, baa, bab)
new_lt0(Left(vwx300), Left(vwx400), bgh, bha) → new_compare21(Left(vwx300), Left(vwx400), new_esEs9(vwx300, vwx400, bgh), bgh, bha)
new_compare20(vwx30, vwx40, False, bff) → new_ltEs(vwx30, vwx40, bff)
new_primCompAux(vwx300, vwx400, vwx301, vwx401, app(ty_Maybe, bdd)) → new_compare0(vwx300, vwx400, bdd)
new_ltEs0(Right(vwx300), Right(vwx400), de, app(app(app(ty_@3, ea), eb), ec)) → new_ltEs1(vwx300, vwx400, ea, eb, ec)

The TRS R consists of the following rules:

new_esEs4(Just(vwx1090), Just(vwx1100), app(ty_Maybe, eea)) → new_esEs4(vwx1090, vwx1100, eea)
new_esEs31(vwx1091, vwx1101, app(ty_Ratio, dcb)) → new_esEs24(vwx1091, vwx1101, dcb)
new_esEs10(vwx300, vwx400, ty_Integer) → new_esEs20(vwx300, vwx400)
new_primCompAux00(vwx176, vwx177, EQ, app(app(ty_@2, bfc), bfd)) → new_compare18(vwx176, vwx177, bfc, bfd)
new_esEs13(vwx300, vwx400, ty_Double) → new_esEs21(vwx300, vwx400)
new_esEs32(vwx1090, vwx1100, app(ty_Ratio, ddd)) → new_esEs24(vwx1090, vwx1100, ddd)
new_esEs38(vwx1090, vwx1100, ty_@0) → new_esEs19(vwx1090, vwx1100)
new_lt16(Nothing, Nothing, bgg) → new_esEs16(new_compare28(Nothing, Nothing, True, bgg), LT)
new_esEs16(EQ, GT) → False
new_esEs16(GT, EQ) → False
new_ltEs10(Left(vwx300), Left(vwx400), ty_Integer, cc) → new_ltEs13(vwx300, vwx400)
new_esEs15(vwx300, vwx400, app(app(ty_@2, daf), dag)) → new_esEs7(vwx300, vwx400, daf, dag)
new_esEs26(vwx109, vwx110, ty_Bool) → new_esEs18(vwx109, vwx110)
new_lt5(Neg(Zero), Pos(Succ(vwx4000))) → new_esEs16(LT, LT)
new_lt7(@2(vwx300, vwx301), @2(vwx400, vwx401), bhe, bhf) → new_esEs16(new_compare25(@2(vwx300, vwx301), @2(vwx400, vwx401), new_asAs(new_esEs15(vwx300, vwx400, bhe), new_esEs14(vwx301, vwx401, bhf)), bhe, bhf), LT)
new_esEs28(vwx30, vwx40) → new_esEs16(new_primCmpInt(vwx30, vwx40), GT)
new_ltEs4(Just(vwx300), Just(vwx400), app(app(app(ty_@3, bd), be), bf)) → new_ltEs11(vwx300, vwx400, bd, be, bf)
new_lt20(vwx300, vwx400, app(ty_[], bda)) → new_lt18(vwx300, vwx400, bda)
new_esEs17(Char(vwx1090), Char(vwx1100)) → new_primEqNat0(vwx1090, vwx1100)
new_ltEs18(vwx302, vwx402, app(ty_[], gb)) → new_ltEs15(vwx302, vwx402, gb)
new_ltEs10(Right(vwx300), Right(vwx400), de, ty_Int) → new_ltEs17(vwx300, vwx400)
new_ltEs10(Left(vwx300), Right(vwx400), de, cc) → True
new_compare(vwx300, vwx400, ty_Char) → new_compare9(vwx300, vwx400)
new_ltEs18(vwx302, vwx402, app(ty_Maybe, fa)) → new_ltEs4(vwx302, vwx402, fa)
new_lt12(vwx301, vwx401, ty_Ordering) → new_lt14(vwx301, vwx401)
new_esEs9(vwx300, vwx400, ty_Int) → new_esEs25(vwx300, vwx400)
new_compare10(vwx30, vwx40, True, bgd, bge) → LT
new_esEs34(vwx1091, vwx1101, ty_Bool) → new_esEs18(vwx1091, vwx1101)
new_esEs4(Nothing, Just(vwx1100), ccf) → False
new_esEs4(Just(vwx1090), Nothing, ccf) → False
new_esEs4(Just(vwx1090), Just(vwx1100), ty_Char) → new_esEs17(vwx1090, vwx1100)
new_esEs14(vwx301, vwx401, app(app(app(ty_@3, cgh), cha), chb)) → new_esEs6(vwx301, vwx401, cgh, cha, chb)
new_lt16(Just(vwx300), Just(vwx400), bgg) → new_esEs16(new_compare28(Just(vwx300), Just(vwx400), new_esEs8(vwx300, vwx400, bgg), bgg), LT)
new_ltEs10(Right(vwx300), Right(vwx400), de, app(ty_Ratio, dea)) → new_ltEs9(vwx300, vwx400, dea)
new_ltEs17(vwx30, vwx40) → new_not(new_esEs28(vwx30, vwx40))
new_esEs10(vwx300, vwx400, ty_@0) → new_esEs19(vwx300, vwx400)
new_compare31(vwx30, vwx40) → new_primCmpFloat(vwx30, vwx40)
new_esEs13(vwx300, vwx400, ty_Integer) → new_esEs20(vwx300, vwx400)
new_esEs15(vwx300, vwx400, ty_Float) → new_esEs23(vwx300, vwx400)
new_esEs10(vwx300, vwx400, ty_Float) → new_esEs23(vwx300, vwx400)
new_esEs13(vwx300, vwx400, app(ty_Ratio, dhe)) → new_esEs24(vwx300, vwx400, dhe)
new_esEs26(vwx109, vwx110, ty_Integer) → new_esEs20(vwx109, vwx110)
new_esEs11(vwx302, vwx402, app(app(ty_@2, dfb), dfc)) → new_esEs7(vwx302, vwx402, dfb, dfc)
new_lt13(vwx300, vwx400, app(ty_[], bae)) → new_lt18(vwx300, vwx400, bae)
new_primMulNat0(Zero, Zero) → Zero
new_lt12(vwx301, vwx401, app(ty_[], hd)) → new_lt18(vwx301, vwx401, hd)
new_esEs34(vwx1091, vwx1101, ty_@0) → new_esEs19(vwx1091, vwx1101)
new_esEs26(vwx109, vwx110, app(ty_[], cda)) → new_esEs22(vwx109, vwx110, cda)
new_esEs4(Just(vwx1090), Just(vwx1100), app(app(app(ty_@3, eee), eef), eeg)) → new_esEs6(vwx1090, vwx1100, eee, eef, eeg)
new_esEs35(vwx1090, vwx1100, ty_@0) → new_esEs19(vwx1090, vwx1100)
new_esEs26(vwx109, vwx110, ty_@0) → new_esEs19(vwx109, vwx110)
new_lt14(EQ, GT) → new_esEs16(new_compare26(EQ, GT, False), LT)
new_lt14(GT, EQ) → new_esEs16(new_compare26(GT, EQ, False), LT)
new_lt14(LT, EQ) → new_esEs16(new_compare26(LT, EQ, False), LT)
new_lt14(EQ, LT) → new_esEs16(new_compare26(EQ, LT, False), LT)
new_esEs20(Integer(vwx1090), Integer(vwx1100)) → new_primEqInt(vwx1090, vwx1100)
new_esEs34(vwx1091, vwx1101, app(app(ty_Either, ebc), ebd)) → new_esEs5(vwx1091, vwx1101, ebc, ebd)
new_ltEs14(False, True) → True
new_esEs10(vwx300, vwx400, ty_Int) → new_esEs25(vwx300, vwx400)
new_esEs35(vwx1090, vwx1100, app(app(ty_@2, edd), ede)) → new_esEs7(vwx1090, vwx1100, edd, ede)
new_esEs11(vwx302, vwx402, app(ty_Ratio, dfa)) → new_esEs24(vwx302, vwx402, dfa)
new_esEs38(vwx1090, vwx1100, app(ty_[], efg)) → new_esEs22(vwx1090, vwx1100, efg)
new_esEs13(vwx300, vwx400, ty_Char) → new_esEs17(vwx300, vwx400)
new_compare9(vwx30, vwx40) → new_primCmpChar(vwx30, vwx40)
new_ltEs19(vwx301, vwx401, ty_@0) → new_ltEs7(vwx301, vwx401)
new_ltEs18(vwx302, vwx402, app(ty_Ratio, edf)) → new_ltEs9(vwx302, vwx402, edf)
new_esEs32(vwx1090, vwx1100, ty_Ordering) → new_esEs16(vwx1090, vwx1100)
new_esEs31(vwx1091, vwx1101, ty_Char) → new_esEs17(vwx1091, vwx1101)
new_esEs34(vwx1091, vwx1101, app(app(app(ty_@3, ebf), ebg), ebh)) → new_esEs6(vwx1091, vwx1101, ebf, ebg, ebh)
new_ltEs10(Right(vwx300), Right(vwx400), de, ty_Bool) → new_ltEs14(vwx300, vwx400)
new_esEs15(vwx300, vwx400, ty_Char) → new_esEs17(vwx300, vwx400)
new_ltEs10(Left(vwx300), Left(vwx400), app(ty_[], dd), cc) → new_ltEs15(vwx300, vwx400, dd)
new_esEs12(vwx301, vwx401, app(ty_Ratio, dgc)) → new_esEs24(vwx301, vwx401, dgc)
new_ltEs18(vwx302, vwx402, ty_Char) → new_ltEs8(vwx302, vwx402)
new_lt8(Integer(vwx300), Integer(vwx400)) → new_esEs16(new_primCmpInt(vwx300, vwx400), LT)
new_lt12(vwx301, vwx401, ty_Bool) → new_lt17(vwx301, vwx401)
new_esEs13(vwx300, vwx400, ty_Float) → new_esEs23(vwx300, vwx400)
new_esEs11(vwx302, vwx402, ty_Bool) → new_esEs18(vwx302, vwx402)
new_compare28(vwx30, vwx40, False, bff) → new_compare13(vwx30, vwx40, new_ltEs4(vwx30, vwx40, bff), bff)
new_esEs35(vwx1090, vwx1100, ty_Float) → new_esEs23(vwx1090, vwx1100)
new_esEs38(vwx1090, vwx1100, app(app(ty_@2, egd), ege)) → new_esEs7(vwx1090, vwx1100, egd, ege)
new_ltEs19(vwx301, vwx401, app(ty_Maybe, bag)) → new_ltEs4(vwx301, vwx401, bag)
new_esEs26(vwx109, vwx110, app(ty_Maybe, ccf)) → new_esEs4(vwx109, vwx110, ccf)
new_esEs5(Left(vwx1090), Left(vwx1100), ty_Double, cch) → new_esEs21(vwx1090, vwx1100)
new_primCompAux00(vwx176, vwx177, EQ, ty_Integer) → new_compare19(vwx176, vwx177)
new_lt13(vwx300, vwx400, ty_@0) → new_lt15(vwx300, vwx400)
new_lt11(@3(vwx300, vwx301, vwx302), @3(vwx400, vwx401, vwx402), bhb, bhc, bhd) → new_esEs16(new_compare27(@3(vwx300, vwx301, vwx302), @3(vwx400, vwx401, vwx402), new_asAs(new_esEs13(vwx300, vwx400, bhb), new_asAs(new_esEs12(vwx301, vwx401, bhc), new_esEs11(vwx302, vwx402, bhd))), bhb, bhc, bhd), LT)
new_esEs34(vwx1091, vwx1101, app(app(ty_@2, ecb), ecc)) → new_esEs7(vwx1091, vwx1101, ecb, ecc)
new_esEs39([], :(vwx400, vwx401), bdb) → new_esEs16(LT, GT)
new_esEs5(Left(vwx1090), Left(vwx1100), ty_@0, cch) → new_esEs19(vwx1090, vwx1100)
new_esEs5(Right(vwx1090), Right(vwx1100), ccg, app(app(app(ty_@3, cff), cfg), cfh)) → new_esEs6(vwx1090, vwx1100, cff, cfg, cfh)
new_esEs31(vwx1091, vwx1101, ty_Double) → new_esEs21(vwx1091, vwx1101)
new_ltEs19(vwx301, vwx401, ty_Float) → new_ltEs16(vwx301, vwx401)
new_ltEs10(Left(vwx300), Left(vwx400), app(app(ty_@2, db), dc), cc) → new_ltEs12(vwx300, vwx400, db, dc)
new_ltEs10(Right(vwx300), Right(vwx400), de, ty_Double) → new_ltEs5(vwx300, vwx400)
new_esEs8(vwx300, vwx400, app(ty_[], eha)) → new_esEs22(vwx300, vwx400, eha)
new_esEs32(vwx1090, vwx1100, ty_Float) → new_esEs23(vwx1090, vwx1100)
new_esEs24(:%(vwx1090, vwx1091), :%(vwx1100, vwx1101), cde) → new_asAs(new_esEs30(vwx1090, vwx1100, cde), new_esEs29(vwx1091, vwx1101, cde))
new_esEs15(vwx300, vwx400, app(app(ty_Either, chg), chh)) → new_esEs5(vwx300, vwx400, chg, chh)
new_compare(vwx300, vwx400, ty_Bool) → new_compare29(vwx300, vwx400)
new_primCompAux00(vwx176, vwx177, EQ, ty_@0) → new_compare8(vwx176, vwx177)
new_compare(vwx300, vwx400, app(app(ty_Either, bde), bdf)) → new_compare16(vwx300, vwx400, bde, bdf)
new_esEs13(vwx300, vwx400, app(ty_Maybe, dgf)) → new_esEs4(vwx300, vwx400, dgf)
new_primCompAux00(vwx176, vwx177, EQ, app(app(app(ty_@3, beh), bfa), bfb)) → new_compare17(vwx176, vwx177, beh, bfa, bfb)
new_esEs33(vwx1092, vwx1102, app(app(app(ty_@3, ead), eae), eaf)) → new_esEs6(vwx1092, vwx1102, ead, eae, eaf)
new_esEs9(vwx300, vwx400, ty_Bool) → new_esEs18(vwx300, vwx400)
new_esEs29(vwx1091, vwx1101, ty_Int) → new_esEs25(vwx1091, vwx1101)
new_lt13(vwx300, vwx400, ty_Int) → new_lt5(vwx300, vwx400)
new_esEs38(vwx1090, vwx1100, ty_Char) → new_esEs17(vwx1090, vwx1100)
new_ltEs4(Nothing, Just(vwx400), bhg) → True
new_ltEs10(Left(vwx300), Left(vwx400), app(ty_Ratio, ddh), cc) → new_ltEs9(vwx300, vwx400, ddh)
new_ltEs4(Just(vwx300), Just(vwx400), ty_@0) → new_ltEs7(vwx300, vwx400)
new_lt13(vwx300, vwx400, ty_Integer) → new_lt8(vwx300, vwx400)
new_esEs14(vwx301, vwx401, app(ty_Ratio, chc)) → new_esEs24(vwx301, vwx401, chc)
new_lt14(EQ, EQ) → new_esEs16(new_compare26(EQ, EQ, True), LT)
new_esEs10(vwx300, vwx400, ty_Char) → new_esEs17(vwx300, vwx400)
new_ltEs6(GT, EQ) → False
new_lt13(vwx300, vwx400, ty_Ordering) → new_lt14(vwx300, vwx400)
new_ltEs10(Left(vwx300), Left(vwx400), app(app(ty_Either, cd), ce), cc) → new_ltEs10(vwx300, vwx400, cd, ce)
new_esEs14(vwx301, vwx401, app(app(ty_@2, chd), che)) → new_esEs7(vwx301, vwx401, chd, che)
new_esEs34(vwx1091, vwx1101, ty_Integer) → new_esEs20(vwx1091, vwx1101)
new_ltEs18(vwx302, vwx402, app(app(ty_Either, fb), fc)) → new_ltEs10(vwx302, vwx402, fb, fc)
new_primCompAux00(vwx176, vwx177, EQ, ty_Float) → new_compare31(vwx176, vwx177)
new_esEs39(:(vwx300, vwx301), :(vwx400, vwx401), bdb) → new_esEs16(new_primCompAux1(vwx300, vwx400, vwx301, vwx401, bdb), GT)
new_compare33(vwx300, vwx401, vwx400, vwx301, ty_Integer) → new_compare19(new_sr0(vwx300, vwx401), new_sr0(vwx400, vwx301))
new_esEs13(vwx300, vwx400, ty_Bool) → new_esEs18(vwx300, vwx400)
new_lt20(vwx300, vwx400, app(ty_Maybe, bbh)) → new_lt16(vwx300, vwx400, bbh)
new_lt20(vwx300, vwx400, app(app(ty_@2, bcg), bch)) → new_lt7(vwx300, vwx400, bcg, bch)
new_esEs5(Left(vwx1090), Left(vwx1100), app(ty_Maybe, cdh), cch) → new_esEs4(vwx1090, vwx1100, cdh)
new_lt5(Neg(Succ(vwx3000)), Pos(vwx400)) → new_esEs16(LT, LT)
new_compare(vwx300, vwx400, ty_Float) → new_compare31(vwx300, vwx400)
new_lt12(vwx301, vwx401, ty_Integer) → new_lt8(vwx301, vwx401)
new_ltEs10(Left(vwx300), Left(vwx400), ty_Int, cc) → new_ltEs17(vwx300, vwx400)
new_compare14(vwx30, vwx40, bff) → new_compare28(vwx30, vwx40, new_esEs4(vwx30, vwx40, bff), bff)
new_esEs32(vwx1090, vwx1100, app(ty_Maybe, dce)) → new_esEs4(vwx1090, vwx1100, dce)
new_esEs5(Right(vwx1090), Right(vwx1100), ccg, ty_Char) → new_esEs17(vwx1090, vwx1100)
new_primCompAux00(vwx176, vwx177, EQ, app(ty_Maybe, bee)) → new_compare14(vwx176, vwx177, bee)
new_primCompAux00(vwx176, vwx177, EQ, app(ty_[], bfe)) → new_compare30(vwx176, vwx177, bfe)
new_primCmpNat0(Zero, Succ(vwx4000)) → LT
new_ltEs10(Left(vwx300), Left(vwx400), ty_Bool, cc) → new_ltEs14(vwx300, vwx400)
new_lt12(vwx301, vwx401, ty_Double) → new_lt9(vwx301, vwx401)
new_compare7(vwx30, vwx40) → new_compare26(vwx30, vwx40, new_esEs16(vwx30, vwx40))
new_esEs5(Left(vwx1090), Left(vwx1100), app(ty_Ratio, ceg), cch) → new_esEs24(vwx1090, vwx1100, ceg)
new_compare6(vwx30, vwx40) → new_primCmpDouble(vwx30, vwx40)
new_esEs26(vwx109, vwx110, ty_Double) → new_esEs21(vwx109, vwx110)
new_ltEs4(Just(vwx300), Just(vwx400), ty_Char) → new_ltEs8(vwx300, vwx400)
new_esEs11(vwx302, vwx402, app(app(app(ty_@3, def), deg), deh)) → new_esEs6(vwx302, vwx402, def, deg, deh)
new_lt4(Right(vwx300), Right(vwx400), bgh, bha) → new_esEs16(new_compare24(Right(vwx300), Right(vwx400), new_esEs10(vwx300, vwx400, bha), bgh, bha), LT)
new_compare16(vwx30, vwx40, bfg, bfh) → new_compare24(vwx30, vwx40, new_esEs5(vwx30, vwx40, bfg, bfh), bfg, bfh)
new_lt20(vwx300, vwx400, ty_@0) → new_lt15(vwx300, vwx400)
new_esEs9(vwx300, vwx400, ty_Float) → new_esEs23(vwx300, vwx400)
new_lt20(vwx300, vwx400, ty_Int) → new_lt5(vwx300, vwx400)
new_ltEs19(vwx301, vwx401, app(app(ty_Either, bah), bba)) → new_ltEs10(vwx301, vwx401, bah, bba)
new_ltEs8(vwx30, vwx40) → new_not(new_esEs16(new_primCmpChar(vwx30, vwx40), GT))
new_esEs13(vwx300, vwx400, app(ty_[], dha)) → new_esEs22(vwx300, vwx400, dha)
new_primEqNat0(Zero, Zero) → True
new_compare26(vwx30, vwx40, True) → EQ
new_esEs26(vwx109, vwx110, ty_Char) → new_esEs17(vwx109, vwx110)
new_compare15(:%(vwx300, vwx301), :%(vwx400, vwx401), ty_Integer) → new_compare19(new_sr0(vwx300, vwx401), new_sr0(vwx400, vwx301))
new_compare111(vwx30, vwx40, False, bfg, bfh) → GT
new_esEs32(vwx1090, vwx1100, app(ty_[], dch)) → new_esEs22(vwx1090, vwx1100, dch)
new_esEs11(vwx302, vwx402, ty_Float) → new_esEs23(vwx302, vwx402)
new_esEs16(LT, GT) → False
new_esEs16(GT, LT) → False
new_esEs14(vwx301, vwx401, ty_Int) → new_esEs25(vwx301, vwx401)
new_lt13(vwx300, vwx400, app(ty_Ratio, edh)) → new_lt10(vwx300, vwx400, edh)
new_esEs14(vwx301, vwx401, ty_Float) → new_esEs23(vwx301, vwx401)
new_lt17(False, False) → new_esEs16(new_compare210(False, False, True), LT)
new_lt6(Char(vwx300), Char(vwx400)) → new_esEs16(new_primCmpNat0(vwx300, vwx400), LT)
new_esEs12(vwx301, vwx401, ty_Char) → new_esEs17(vwx301, vwx401)
new_ltEs10(Right(vwx300), Right(vwx400), de, ty_@0) → new_ltEs7(vwx300, vwx400)
new_esEs35(vwx1090, vwx1100, app(ty_Maybe, ecd)) → new_esEs4(vwx1090, vwx1100, ecd)
new_esEs38(vwx1090, vwx1100, ty_Bool) → new_esEs18(vwx1090, vwx1100)
new_lt20(vwx300, vwx400, ty_Float) → new_lt19(vwx300, vwx400)
new_ltEs19(vwx301, vwx401, ty_Ordering) → new_ltEs6(vwx301, vwx401)
new_esEs12(vwx301, vwx401, app(app(ty_@2, dgd), dge)) → new_esEs7(vwx301, vwx401, dgd, dge)
new_sr(vwx40, vwx31) → new_primMulInt(vwx40, vwx31)
new_esEs7(@2(vwx1090, vwx1091), @2(vwx1100, vwx1101), cdf, cdg) → new_asAs(new_esEs32(vwx1090, vwx1100, cdf), new_esEs31(vwx1091, vwx1101, cdg))
new_compare30(:(vwx300, vwx301), :(vwx400, vwx401), bgf) → new_primCompAux1(vwx300, vwx400, vwx301, vwx401, bgf)
new_compare12(vwx30, vwx40, True, bga, bgb, bgc) → LT
new_esEs26(vwx109, vwx110, ty_Int) → new_esEs25(vwx109, vwx110)
new_ltEs9(vwx30, vwx40, efc) → new_not(new_esEs37(vwx30, vwx40, efc))
new_esEs33(vwx1092, vwx1102, ty_Double) → new_esEs21(vwx1092, vwx1102)
new_esEs32(vwx1090, vwx1100, app(app(ty_@2, dde), ddf)) → new_esEs7(vwx1090, vwx1100, dde, ddf)
new_esEs14(vwx301, vwx401, app(ty_[], cgg)) → new_esEs22(vwx301, vwx401, cgg)
new_esEs15(vwx300, vwx400, ty_Integer) → new_esEs20(vwx300, vwx400)
new_lt5(Pos(Zero), Pos(Zero)) → new_esEs16(EQ, LT)
new_esEs13(vwx300, vwx400, app(app(app(ty_@3, dhb), dhc), dhd)) → new_esEs6(vwx300, vwx400, dhb, dhc, dhd)
new_lt9(Double(vwx300, vwx301), Double(vwx400, vwx401)) → new_esEs16(new_compare5(new_sr(vwx300, vwx400), new_sr(vwx301, vwx401)), LT)
new_ltEs6(EQ, GT) → True
new_ltEs4(Just(vwx300), Just(vwx400), ty_Integer) → new_ltEs13(vwx300, vwx400)
new_esEs35(vwx1090, vwx1100, ty_Ordering) → new_esEs16(vwx1090, vwx1100)
new_esEs13(vwx300, vwx400, ty_Ordering) → new_esEs16(vwx300, vwx400)
new_esEs9(vwx300, vwx400, ty_Ordering) → new_esEs16(vwx300, vwx400)
new_lt12(vwx301, vwx401, app(ty_Maybe, gc)) → new_lt16(vwx301, vwx401, gc)
new_primPlusNat0(Succ(vwx2740), vwx3100) → Succ(Succ(new_primPlusNat1(vwx2740, vwx3100)))
new_ltEs18(vwx302, vwx402, ty_Ordering) → new_ltEs6(vwx302, vwx402)
new_esEs38(vwx1090, vwx1100, app(app(app(ty_@3, efh), ega), egb)) → new_esEs6(vwx1090, vwx1100, efh, ega, egb)
new_ltEs4(Just(vwx300), Just(vwx400), app(app(ty_@2, bg), bh)) → new_ltEs12(vwx300, vwx400, bg, bh)
new_lt20(vwx300, vwx400, ty_Ordering) → new_lt14(vwx300, vwx400)
new_esEs12(vwx301, vwx401, ty_Int) → new_esEs25(vwx301, vwx401)
new_esEs26(vwx109, vwx110, app(app(app(ty_@3, cdb), cdc), cdd)) → new_esEs6(vwx109, vwx110, cdb, cdc, cdd)
new_compare30([], [], bgf) → EQ
new_compare18(vwx30, vwx40, bgd, bge) → new_compare25(vwx30, vwx40, new_esEs7(vwx30, vwx40, bgd, bge), bgd, bge)
new_esEs9(vwx300, vwx400, app(ty_[], cad)) → new_esEs22(vwx300, vwx400, cad)
new_esEs8(vwx300, vwx400, ty_@0) → new_esEs19(vwx300, vwx400)
new_ltEs10(Left(vwx300), Left(vwx400), app(ty_Maybe, cb), cc) → new_ltEs4(vwx300, vwx400, cb)
new_lt5(Pos(Zero), Neg(Succ(vwx4000))) → new_esEs16(GT, LT)
new_primEqInt(Neg(Succ(vwx10900)), Neg(Succ(vwx11000))) → new_primEqNat0(vwx10900, vwx11000)
new_ltEs19(vwx301, vwx401, ty_Double) → new_ltEs5(vwx301, vwx401)
new_esEs12(vwx301, vwx401, ty_Float) → new_esEs23(vwx301, vwx401)
new_compare30(:(vwx300, vwx301), [], bgf) → GT
new_primPlusNat1(Succ(vwx27400), Zero) → Succ(vwx27400)
new_primPlusNat1(Zero, Succ(vwx31000)) → Succ(vwx31000)
new_lt20(vwx300, vwx400, ty_Char) → new_lt6(vwx300, vwx400)
new_compare(vwx300, vwx400, ty_Integer) → new_compare19(vwx300, vwx400)
new_ltEs4(Nothing, Nothing, bhg) → True
new_ltEs10(Left(vwx300), Left(vwx400), ty_Ordering, cc) → new_ltEs6(vwx300, vwx400)
new_esEs38(vwx1090, vwx1100, ty_Double) → new_esEs21(vwx1090, vwx1100)
new_ltEs11(@3(vwx300, vwx301, vwx302), @3(vwx400, vwx401, vwx402), eg, eh, gd) → new_pePe(new_lt13(vwx300, vwx400, eg), vwx300, vwx400, new_pePe(new_lt12(vwx301, vwx401, eh), vwx301, vwx401, new_ltEs18(vwx302, vwx402, gd), eh), eg)
new_ltEs19(vwx301, vwx401, app(ty_Ratio, ehh)) → new_ltEs9(vwx301, vwx401, ehh)
new_lt20(vwx300, vwx400, app(app(ty_Either, bcb), bcc)) → new_lt4(vwx300, vwx400, bcb, bcc)
new_compare(vwx300, vwx400, app(ty_Maybe, bdd)) → new_compare14(vwx300, vwx400, bdd)
new_primEqInt(Neg(Zero), Neg(Zero)) → True
new_esEs31(vwx1091, vwx1101, app(app(app(ty_@3, dbg), dbh), dca)) → new_esEs6(vwx1091, vwx1101, dbg, dbh, dca)
new_esEs38(vwx1090, vwx1100, app(app(ty_Either, efe), eff)) → new_esEs5(vwx1090, vwx1100, efe, eff)
new_ltEs6(EQ, EQ) → True
new_esEs14(vwx301, vwx401, app(ty_Maybe, cgd)) → new_esEs4(vwx301, vwx401, cgd)
new_esEs34(vwx1091, vwx1101, ty_Ordering) → new_esEs16(vwx1091, vwx1101)
new_esEs39([], [], bdb) → new_esEs16(EQ, GT)
new_primEqInt(Neg(Zero), Neg(Succ(vwx11000))) → False
new_primEqInt(Neg(Succ(vwx10900)), Neg(Zero)) → False
new_esEs26(vwx109, vwx110, ty_Float) → new_esEs23(vwx109, vwx110)
new_lt20(vwx300, vwx400, ty_Integer) → new_lt8(vwx300, vwx400)
new_esEs9(vwx300, vwx400, app(ty_Ratio, cah)) → new_esEs24(vwx300, vwx400, cah)
new_esEs15(vwx300, vwx400, ty_Ordering) → new_esEs16(vwx300, vwx400)
new_ltEs7(vwx30, vwx40) → new_not(new_esEs27(vwx30, vwx40))
new_ltEs6(GT, GT) → True
new_esEs31(vwx1091, vwx1101, app(app(ty_Either, dbd), dbe)) → new_esEs5(vwx1091, vwx1101, dbd, dbe)
new_esEs34(vwx1091, vwx1101, ty_Int) → new_esEs25(vwx1091, vwx1101)
new_compare24(vwx30, vwx40, True, bfg, bfh) → EQ
new_esEs32(vwx1090, vwx1100, ty_Char) → new_esEs17(vwx1090, vwx1100)
new_lt13(vwx300, vwx400, ty_Double) → new_lt9(vwx300, vwx400)
new_esEs19(@0, @0) → True
new_esEs4(Just(vwx1090), Just(vwx1100), ty_Int) → new_esEs25(vwx1090, vwx1100)
new_primCmpInt(Pos(Zero), Neg(Zero)) → EQ
new_primCmpInt(Neg(Zero), Pos(Zero)) → EQ
new_esEs4(Just(vwx1090), Just(vwx1100), ty_Ordering) → new_esEs16(vwx1090, vwx1100)
new_primCmpFloat(Float(vwx300, vwx301), Float(vwx400, vwx401)) → new_compare5(new_sr(vwx300, vwx400), new_sr(vwx301, vwx401))
new_compare(vwx300, vwx400, app(ty_[], bed)) → new_compare30(vwx300, vwx400, bed)
new_esEs35(vwx1090, vwx1100, app(app(app(ty_@3, ech), eda), edb)) → new_esEs6(vwx1090, vwx1100, ech, eda, edb)
new_primCompAux00(vwx176, vwx177, EQ, app(app(ty_Either, bef), beg)) → new_compare16(vwx176, vwx177, bef, beg)
new_primCmpNat0(Succ(vwx3000), Succ(vwx4000)) → new_primCmpNat0(vwx3000, vwx4000)
new_ltEs10(Right(vwx300), Right(vwx400), de, ty_Char) → new_ltEs8(vwx300, vwx400)
new_ltEs18(vwx302, vwx402, ty_Integer) → new_ltEs13(vwx302, vwx402)
new_lt18([], [], bdc) → new_esEs16(EQ, LT)
new_primEqInt(Pos(Succ(vwx10900)), Pos(Succ(vwx11000))) → new_primEqNat0(vwx10900, vwx11000)
new_esEs11(vwx302, vwx402, ty_Double) → new_esEs21(vwx302, vwx402)
new_compare32(vwx300, vwx401, vwx400, vwx301, ty_Integer) → new_compare19(new_sr0(vwx300, vwx401), new_sr0(vwx400, vwx301))
new_compare10(vwx30, vwx40, False, bgd, bge) → GT
new_lt5(Neg(Zero), Neg(Zero)) → new_esEs16(EQ, LT)
new_compare(vwx300, vwx400, app(ty_Ratio, dah)) → new_compare15(vwx300, vwx400, dah)
new_esEs8(vwx300, vwx400, app(ty_Ratio, ehe)) → new_esEs24(vwx300, vwx400, ehe)
new_esEs5(Left(vwx1090), Left(vwx1100), ty_Float, cch) → new_esEs23(vwx1090, vwx1100)
new_esEs15(vwx300, vwx400, app(ty_Ratio, dae)) → new_esEs24(vwx300, vwx400, dae)
new_esEs9(vwx300, vwx400, app(app(ty_@2, cba), cbb)) → new_esEs7(vwx300, vwx400, cba, cbb)
new_esEs5(Left(vwx1090), Left(vwx1100), ty_Bool, cch) → new_esEs18(vwx1090, vwx1100)
new_primCompAux00(vwx176, vwx177, EQ, ty_Double) → new_compare6(vwx176, vwx177)
new_ltEs19(vwx301, vwx401, ty_Bool) → new_ltEs14(vwx301, vwx401)
new_esEs30(vwx1090, vwx1100, ty_Integer) → new_esEs20(vwx1090, vwx1100)
new_ltEs18(vwx302, vwx402, app(app(app(ty_@3, fd), ff), fg)) → new_ltEs11(vwx302, vwx402, fd, ff, fg)
new_compare32(vwx300, vwx401, vwx400, vwx301, ty_Int) → new_compare5(new_sr(vwx300, vwx401), new_sr(vwx400, vwx301))
new_esEs5(Right(vwx1090), Right(vwx1100), ccg, app(app(ty_Either, cfc), cfd)) → new_esEs5(vwx1090, vwx1100, cfc, cfd)
new_primEqNat0(Succ(vwx10900), Succ(vwx11000)) → new_primEqNat0(vwx10900, vwx11000)
new_ltEs14(False, False) → True
new_lt5(Pos(Succ(vwx3000)), Pos(vwx400)) → new_esEs16(new_primCmpNat0(Succ(vwx3000), vwx400), LT)
new_lt5(Pos(Zero), Pos(Succ(vwx4000))) → new_esEs16(new_primCmpNat0(Zero, Succ(vwx4000)), LT)
new_pePe(False, vwx109, vwx110, vwx140, cce) → new_asAs(new_esEs26(vwx109, vwx110, cce), vwx140)
new_esEs15(vwx300, vwx400, app(app(app(ty_@3, dab), dac), dad)) → new_esEs6(vwx300, vwx400, dab, dac, dad)
new_ltEs10(Left(vwx300), Left(vwx400), ty_Float, cc) → new_ltEs16(vwx300, vwx400)
new_esEs15(vwx300, vwx400, ty_Int) → new_esEs25(vwx300, vwx400)
new_esEs8(vwx300, vwx400, ty_Bool) → new_esEs18(vwx300, vwx400)
new_esEs8(vwx300, vwx400, ty_Integer) → new_esEs20(vwx300, vwx400)
new_esEs32(vwx1090, vwx1100, ty_@0) → new_esEs19(vwx1090, vwx1100)
new_primCmpInt(Neg(Succ(vwx3000)), Neg(vwx400)) → new_primCmpNat0(vwx400, Succ(vwx3000))
new_esEs35(vwx1090, vwx1100, ty_Bool) → new_esEs18(vwx1090, vwx1100)
new_ltEs10(Right(vwx300), Right(vwx400), de, app(app(ty_Either, dg), dh)) → new_ltEs10(vwx300, vwx400, dg, dh)
new_ltEs4(Just(vwx300), Just(vwx400), app(app(ty_Either, bb), bc)) → new_ltEs10(vwx300, vwx400, bb, bc)
new_esEs10(vwx300, vwx400, app(app(ty_@2, ccc), ccd)) → new_esEs7(vwx300, vwx400, ccc, ccd)
new_esEs9(vwx300, vwx400, ty_Char) → new_esEs17(vwx300, vwx400)
new_ltEs19(vwx301, vwx401, ty_Int) → new_ltEs17(vwx301, vwx401)
new_esEs8(vwx300, vwx400, app(app(ty_@2, ehf), ehg)) → new_esEs7(vwx300, vwx400, ehf, ehg)
new_ltEs10(Right(vwx300), Right(vwx400), de, app(app(app(ty_@3, ea), eb), ec)) → new_ltEs11(vwx300, vwx400, ea, eb, ec)
new_esEs11(vwx302, vwx402, app(ty_Maybe, deb)) → new_esEs4(vwx302, vwx402, deb)
new_esEs31(vwx1091, vwx1101, ty_Bool) → new_esEs18(vwx1091, vwx1101)
new_ltEs18(vwx302, vwx402, app(app(ty_@2, fh), ga)) → new_ltEs12(vwx302, vwx402, fh, ga)
new_primEqInt(Pos(Zero), Pos(Succ(vwx11000))) → False
new_primEqInt(Pos(Succ(vwx10900)), Pos(Zero)) → False
new_ltEs10(Left(vwx300), Left(vwx400), ty_@0, cc) → new_ltEs7(vwx300, vwx400)
new_lt13(vwx300, vwx400, app(app(ty_Either, hf), hg)) → new_lt4(vwx300, vwx400, hf, hg)
new_compare13(vwx30, vwx40, True, bff) → LT
new_esEs5(Left(vwx1090), Left(vwx1100), ty_Int, cch) → new_esEs25(vwx1090, vwx1100)
new_primCmpNat0(Zero, Zero) → EQ
new_esEs9(vwx300, vwx400, ty_Double) → new_esEs21(vwx300, vwx400)
new_primCmpNat0(Succ(vwx3000), Zero) → GT
new_primCmpInt(Neg(Zero), Pos(Succ(vwx4000))) → LT
new_compare(vwx300, vwx400, app(app(app(ty_@3, bdg), bdh), bea)) → new_compare17(vwx300, vwx400, bdg, bdh, bea)
new_esEs4(Just(vwx1090), Just(vwx1100), app(app(ty_Either, eeb), eec)) → new_esEs5(vwx1090, vwx1100, eeb, eec)
new_lt14(LT, LT) → new_esEs16(new_compare26(LT, LT, True), LT)
new_sr0(Integer(vwx4000), Integer(vwx3010)) → Integer(new_primMulInt(vwx4000, vwx3010))
new_esEs34(vwx1091, vwx1101, ty_Double) → new_esEs21(vwx1091, vwx1101)
new_primPlusNat1(Succ(vwx27400), Succ(vwx31000)) → Succ(Succ(new_primPlusNat1(vwx27400, vwx31000)))
new_ltEs19(vwx301, vwx401, app(app(ty_@2, bbe), bbf)) → new_ltEs12(vwx301, vwx401, bbe, bbf)
new_compare25(vwx30, vwx40, False, bgd, bge) → new_compare10(vwx30, vwx40, new_ltEs12(vwx30, vwx40, bgd, bge), bgd, bge)
new_primEqInt(Neg(Succ(vwx10900)), Pos(vwx1100)) → False
new_primEqInt(Pos(Succ(vwx10900)), Neg(vwx1100)) → False
new_esEs5(Right(vwx1090), Right(vwx1100), ccg, ty_@0) → new_esEs19(vwx1090, vwx1100)
new_compare30([], :(vwx400, vwx401), bgf) → LT
new_esEs33(vwx1092, vwx1102, ty_Bool) → new_esEs18(vwx1092, vwx1102)
new_esEs8(vwx300, vwx400, app(app(ty_Either, egg), egh)) → new_esEs5(vwx300, vwx400, egg, egh)
new_esEs32(vwx1090, vwx1100, app(app(ty_Either, dcf), dcg)) → new_esEs5(vwx1090, vwx1100, dcf, dcg)
new_lt5(Pos(Zero), Neg(Zero)) → new_esEs16(EQ, LT)
new_lt5(Neg(Zero), Pos(Zero)) → new_esEs16(EQ, LT)
new_esEs9(vwx300, vwx400, app(app(ty_Either, cab), cac)) → new_esEs5(vwx300, vwx400, cab, cac)
new_compare(vwx300, vwx400, ty_Ordering) → new_compare7(vwx300, vwx400)
new_compare(vwx300, vwx400, app(app(ty_@2, beb), bec)) → new_compare18(vwx300, vwx400, beb, bec)
new_esEs8(vwx300, vwx400, ty_Char) → new_esEs17(vwx300, vwx400)
new_primEqInt(Neg(Zero), Pos(Succ(vwx11000))) → False
new_primEqInt(Pos(Zero), Neg(Succ(vwx11000))) → False
new_esEs38(vwx1090, vwx1100, ty_Ordering) → new_esEs16(vwx1090, vwx1100)
new_esEs34(vwx1091, vwx1101, app(ty_Maybe, ebb)) → new_esEs4(vwx1091, vwx1101, ebb)
new_primCmpInt(Pos(Zero), Pos(Succ(vwx4000))) → new_primCmpNat0(Zero, Succ(vwx4000))
new_esEs8(vwx300, vwx400, ty_Float) → new_esEs23(vwx300, vwx400)
new_esEs22([], [], cda) → True
new_lt12(vwx301, vwx401, ty_Char) → new_lt6(vwx301, vwx401)
new_lt5(Pos(Succ(vwx3000)), Neg(vwx400)) → new_esEs16(GT, LT)
new_ltEs19(vwx301, vwx401, ty_Char) → new_ltEs8(vwx301, vwx401)
new_esEs8(vwx300, vwx400, app(app(app(ty_@3, ehb), ehc), ehd)) → new_esEs6(vwx300, vwx400, ehb, ehc, ehd)
new_ltEs16(vwx30, vwx40) → new_not(new_esEs16(new_primCmpFloat(vwx30, vwx40), GT))
new_ltEs4(Just(vwx300), Just(vwx400), ty_Bool) → new_ltEs14(vwx300, vwx400)
new_not(False) → True
new_esEs35(vwx1090, vwx1100, ty_Integer) → new_esEs20(vwx1090, vwx1100)
new_lt16(Nothing, Just(vwx400), bgg) → new_esEs16(new_compare28(Nothing, Just(vwx400), False, bgg), LT)
new_lt16(Just(vwx300), Nothing, bgg) → new_esEs16(new_compare28(Just(vwx300), Nothing, False, bgg), LT)
new_esEs25(vwx109, vwx110) → new_primEqInt(vwx109, vwx110)
new_esEs26(vwx109, vwx110, app(ty_Ratio, cde)) → new_esEs24(vwx109, vwx110, cde)
new_lt13(vwx300, vwx400, app(app(ty_@2, bac), bad)) → new_lt7(vwx300, vwx400, bac, bad)
new_esEs11(vwx302, vwx402, ty_@0) → new_esEs19(vwx302, vwx402)
new_primPlusNat0(Zero, vwx3100) → Succ(vwx3100)
new_primCmpInt(Pos(Succ(vwx3000)), Pos(vwx400)) → new_primCmpNat0(Succ(vwx3000), vwx400)
new_compare12(vwx30, vwx40, False, bga, bgb, bgc) → GT
new_esEs12(vwx301, vwx401, ty_Integer) → new_esEs20(vwx301, vwx401)
new_ltEs10(Right(vwx300), Right(vwx400), de, ty_Integer) → new_ltEs13(vwx300, vwx400)
new_esEs31(vwx1091, vwx1101, app(ty_[], dbf)) → new_esEs22(vwx1091, vwx1101, dbf)
new_lt13(vwx300, vwx400, app(app(app(ty_@3, hh), baa), bab)) → new_lt11(vwx300, vwx400, hh, baa, bab)
new_esEs33(vwx1092, vwx1102, ty_Ordering) → new_esEs16(vwx1092, vwx1102)
new_esEs4(Just(vwx1090), Just(vwx1100), ty_Float) → new_esEs23(vwx1090, vwx1100)
new_esEs16(LT, EQ) → False
new_esEs16(EQ, LT) → False
new_esEs4(Just(vwx1090), Just(vwx1100), app(ty_[], eed)) → new_esEs22(vwx1090, vwx1100, eed)
new_compare17(vwx30, vwx40, bga, bgb, bgc) → new_compare27(vwx30, vwx40, new_esEs6(vwx30, vwx40, bga, bgb, bgc), bga, bgb, bgc)
new_esEs13(vwx300, vwx400, app(app(ty_Either, dgg), dgh)) → new_esEs5(vwx300, vwx400, dgg, dgh)
new_ltEs4(Just(vwx300), Just(vwx400), ty_Int) → new_ltEs17(vwx300, vwx400)
new_compare15(:%(vwx300, vwx301), :%(vwx400, vwx401), ty_Int) → new_compare5(new_sr(vwx300, vwx401), new_sr(vwx400, vwx301))
new_esEs14(vwx301, vwx401, ty_@0) → new_esEs19(vwx301, vwx401)
new_esEs35(vwx1090, vwx1100, ty_Char) → new_esEs17(vwx1090, vwx1100)
new_esEs8(vwx300, vwx400, ty_Int) → new_esEs25(vwx300, vwx400)
new_esEs38(vwx1090, vwx1100, ty_Int) → new_esEs25(vwx1090, vwx1100)
new_lt20(vwx300, vwx400, ty_Double) → new_lt9(vwx300, vwx400)
new_esEs26(vwx109, vwx110, app(app(ty_Either, ccg), cch)) → new_esEs5(vwx109, vwx110, ccg, cch)
new_esEs35(vwx1090, vwx1100, app(ty_Ratio, edc)) → new_esEs24(vwx1090, vwx1100, edc)
new_ltEs4(Just(vwx300), Just(vwx400), ty_Double) → new_ltEs5(vwx300, vwx400)
new_ltEs19(vwx301, vwx401, app(ty_[], bbg)) → new_ltEs15(vwx301, vwx401, bbg)
new_compare24(vwx30, vwx40, False, bfg, bfh) → new_compare111(vwx30, vwx40, new_ltEs10(vwx30, vwx40, bfg, bfh), bfg, bfh)
new_esEs5(Left(vwx1090), Left(vwx1100), ty_Integer, cch) → new_esEs20(vwx1090, vwx1100)
new_compare210(vwx30, vwx40, False) → new_compare110(vwx30, vwx40, new_ltEs14(vwx30, vwx40))
new_primCmpInt(Pos(Succ(vwx3000)), Neg(vwx400)) → GT
new_lt13(vwx300, vwx400, app(ty_Maybe, he)) → new_lt16(vwx300, vwx400, he)
new_esEs5(Right(vwx1090), Right(vwx1100), ccg, app(ty_[], cfe)) → new_esEs22(vwx1090, vwx1100, cfe)
new_esEs33(vwx1092, vwx1102, app(app(ty_@2, eah), eba)) → new_esEs7(vwx1092, vwx1102, eah, eba)
new_esEs33(vwx1092, vwx1102, ty_Integer) → new_esEs20(vwx1092, vwx1102)
new_primMulInt(Pos(vwx400), Pos(vwx310)) → Pos(new_primMulNat0(vwx400, vwx310))
new_esEs13(vwx300, vwx400, ty_@0) → new_esEs19(vwx300, vwx400)
new_compare19(Integer(vwx300), Integer(vwx400)) → new_primCmpInt(vwx300, vwx400)
new_esEs34(vwx1091, vwx1101, ty_Float) → new_esEs23(vwx1091, vwx1101)
new_lt12(vwx301, vwx401, ty_@0) → new_lt15(vwx301, vwx401)
new_esEs5(Right(vwx1090), Right(vwx1100), ccg, ty_Double) → new_esEs21(vwx1090, vwx1100)
new_esEs5(Right(vwx1090), Right(vwx1100), ccg, ty_Float) → new_esEs23(vwx1090, vwx1100)
new_esEs5(Right(vwx1090), Left(vwx1100), ccg, cch) → False
new_esEs5(Left(vwx1090), Right(vwx1100), ccg, cch) → False
new_lt5(Neg(Zero), Neg(Succ(vwx4000))) → new_esEs16(new_primCmpNat0(Succ(vwx4000), Zero), LT)
new_primMulInt(Neg(vwx400), Neg(vwx310)) → Pos(new_primMulNat0(vwx400, vwx310))
new_compare110(vwx30, vwx40, True) → LT
new_esEs16(EQ, EQ) → True
new_ltEs10(Left(vwx300), Left(vwx400), ty_Char, cc) → new_ltEs8(vwx300, vwx400)
new_esEs32(vwx1090, vwx1100, ty_Int) → new_esEs25(vwx1090, vwx1100)
new_esEs26(vwx109, vwx110, ty_Ordering) → new_esEs16(vwx109, vwx110)
new_esEs11(vwx302, vwx402, ty_Integer) → new_esEs20(vwx302, vwx402)
new_lt20(vwx300, vwx400, app(app(app(ty_@3, bcd), bce), bcf)) → new_lt11(vwx300, vwx400, bcd, bce, bcf)
new_primEqNat0(Zero, Succ(vwx11000)) → False
new_primEqNat0(Succ(vwx10900), Zero) → False
new_esEs14(vwx301, vwx401, ty_Bool) → new_esEs18(vwx301, vwx401)
new_esEs38(vwx1090, vwx1100, app(ty_Maybe, efd)) → new_esEs4(vwx1090, vwx1100, efd)
new_esEs26(vwx109, vwx110, app(app(ty_@2, cdf), cdg)) → new_esEs7(vwx109, vwx110, cdf, cdg)
new_ltEs6(LT, LT) → True
new_primCompAux00(vwx176, vwx177, EQ, ty_Ordering) → new_compare7(vwx176, vwx177)
new_ltEs6(EQ, LT) → False
new_ltEs10(Left(vwx300), Left(vwx400), ty_Double, cc) → new_ltEs5(vwx300, vwx400)
new_compare25(vwx30, vwx40, True, bgd, bge) → EQ
new_esEs34(vwx1091, vwx1101, app(ty_[], ebe)) → new_esEs22(vwx1091, vwx1101, ebe)
new_ltEs14(True, True) → True
new_compare110(vwx30, vwx40, False) → GT
new_primEqInt(Pos(Zero), Pos(Zero)) → True
new_esEs23(Float(vwx1090, vwx1091), Float(vwx1100, vwx1101)) → new_esEs25(new_sr(vwx1090, vwx1100), new_sr(vwx1091, vwx1101))
new_esEs4(Nothing, Nothing, ccf) → True
new_ltEs18(vwx302, vwx402, ty_@0) → new_ltEs7(vwx302, vwx402)
new_esEs13(vwx300, vwx400, app(app(ty_@2, dhf), dhg)) → new_esEs7(vwx300, vwx400, dhf, dhg)
new_esEs12(vwx301, vwx401, app(app(ty_Either, dfe), dff)) → new_esEs5(vwx301, vwx401, dfe, dff)
new_esEs12(vwx301, vwx401, ty_@0) → new_esEs19(vwx301, vwx401)
new_esEs29(vwx1091, vwx1101, ty_Integer) → new_esEs20(vwx1091, vwx1101)
new_compare210(vwx30, vwx40, True) → EQ
new_esEs33(vwx1092, vwx1102, ty_Char) → new_esEs17(vwx1092, vwx1102)
new_primCmpDouble(Double(vwx300, vwx301), Double(vwx400, vwx401)) → new_compare5(new_sr(vwx300, vwx400), new_sr(vwx301, vwx401))
new_esEs39(:(vwx300, vwx301), [], bdb) → new_esEs16(GT, GT)
new_ltEs4(Just(vwx300), Just(vwx400), app(ty_[], ca)) → new_ltEs15(vwx300, vwx400, ca)
new_lt5(Neg(Succ(vwx3000)), Neg(vwx400)) → new_esEs16(new_primCmpNat0(vwx400, Succ(vwx3000)), LT)
new_esEs32(vwx1090, vwx1100, ty_Bool) → new_esEs18(vwx1090, vwx1100)
new_esEs5(Left(vwx1090), Left(vwx1100), ty_Ordering, cch) → new_esEs16(vwx1090, vwx1100)
new_pePe(True, vwx109, vwx110, vwx140, cce) → True
new_esEs31(vwx1091, vwx1101, ty_Int) → new_esEs25(vwx1091, vwx1101)
new_esEs10(vwx300, vwx400, app(ty_Ratio, ccb)) → new_esEs24(vwx300, vwx400, ccb)
new_esEs8(vwx300, vwx400, ty_Ordering) → new_esEs16(vwx300, vwx400)
new_compare(vwx300, vwx400, ty_Double) → new_compare6(vwx300, vwx400)
new_lt14(GT, GT) → new_esEs16(new_compare26(GT, GT, True), LT)
new_compare13(vwx30, vwx40, False, bff) → GT
new_primCmpInt(Neg(Zero), Neg(Succ(vwx4000))) → new_primCmpNat0(Succ(vwx4000), Zero)
new_esEs4(Just(vwx1090), Just(vwx1100), ty_Double) → new_esEs21(vwx1090, vwx1100)
new_primCmpInt(Pos(Zero), Neg(Succ(vwx4000))) → GT
new_compare5(vwx30, vwx40) → new_primCmpInt(vwx30, vwx40)
new_esEs22(:(vwx1090, vwx1091), :(vwx1100, vwx1101), cda) → new_asAs(new_esEs38(vwx1090, vwx1100, cda), new_esEs22(vwx1091, vwx1101, cda))
new_primCompAux00(vwx176, vwx177, EQ, ty_Char) → new_compare9(vwx176, vwx177)
new_esEs14(vwx301, vwx401, ty_Char) → new_esEs17(vwx301, vwx401)
new_esEs14(vwx301, vwx401, app(app(ty_Either, cge), cgf)) → new_esEs5(vwx301, vwx401, cge, cgf)
new_lt12(vwx301, vwx401, app(app(app(ty_@3, gg), gh), ha)) → new_lt11(vwx301, vwx401, gg, gh, ha)
new_lt18(:(vwx300, vwx301), [], bdc) → new_esEs16(GT, LT)
new_esEs10(vwx300, vwx400, app(ty_[], cbf)) → new_esEs22(vwx300, vwx400, cbf)
new_esEs33(vwx1092, vwx1102, app(ty_[], eac)) → new_esEs22(vwx1092, vwx1102, eac)
new_ltEs10(Right(vwx300), Right(vwx400), de, app(ty_Maybe, df)) → new_ltEs4(vwx300, vwx400, df)
new_esEs5(Right(vwx1090), Right(vwx1100), ccg, app(ty_Ratio, cga)) → new_esEs24(vwx1090, vwx1100, cga)
new_ltEs13(vwx30, vwx40) → new_not(new_esEs36(vwx30, vwx40))
new_ltEs4(Just(vwx300), Just(vwx400), app(ty_Maybe, ba)) → new_ltEs4(vwx300, vwx400, ba)
new_esEs12(vwx301, vwx401, app(ty_[], dfg)) → new_esEs22(vwx301, vwx401, dfg)
new_esEs21(Double(vwx1090, vwx1091), Double(vwx1100, vwx1101)) → new_esEs25(new_sr(vwx1090, vwx1100), new_sr(vwx1091, vwx1101))
new_esEs5(Left(vwx1090), Left(vwx1100), app(app(ty_@2, ceh), cfa), cch) → new_esEs7(vwx1090, vwx1100, ceh, cfa)
new_esEs37(:%(vwx300, vwx301), :%(vwx400, vwx401), efc) → new_esEs16(new_compare33(vwx300, vwx401, vwx400, vwx301, efc), GT)
new_ltEs10(Right(vwx300), Right(vwx400), de, app(app(ty_@2, ed), ee)) → new_ltEs12(vwx300, vwx400, ed, ee)
new_ltEs10(Left(vwx300), Left(vwx400), app(app(app(ty_@3, cf), cg), da), cc) → new_ltEs11(vwx300, vwx400, cf, cg, da)
new_primCmpInt(Neg(Zero), Neg(Zero)) → EQ
new_lt13(vwx300, vwx400, ty_Char) → new_lt6(vwx300, vwx400)
new_esEs10(vwx300, vwx400, app(app(ty_Either, cbd), cbe)) → new_esEs5(vwx300, vwx400, cbd, cbe)
new_lt12(vwx301, vwx401, app(app(ty_Either, ge), gf)) → new_lt4(vwx301, vwx401, ge, gf)
new_esEs22(:(vwx1090, vwx1091), [], cda) → False
new_esEs22([], :(vwx1100, vwx1101), cda) → False
new_esEs34(vwx1091, vwx1101, app(ty_Ratio, eca)) → new_esEs24(vwx1091, vwx1101, eca)
new_esEs12(vwx301, vwx401, app(ty_Maybe, dfd)) → new_esEs4(vwx301, vwx401, dfd)
new_esEs16(LT, LT) → True
new_lt4(Left(vwx300), Left(vwx400), bgh, bha) → new_esEs16(new_compare24(Left(vwx300), Left(vwx400), new_esEs9(vwx300, vwx400, bgh), bgh, bha), LT)
new_asAs(False, vwx160) → False
new_esEs33(vwx1092, vwx1102, ty_Float) → new_esEs23(vwx1092, vwx1102)
new_esEs10(vwx300, vwx400, app(app(app(ty_@3, cbg), cbh), cca)) → new_esEs6(vwx300, vwx400, cbg, cbh, cca)
new_esEs15(vwx300, vwx400, app(ty_Maybe, chf)) → new_esEs4(vwx300, vwx400, chf)
new_lt10(:%(vwx300, vwx301), :%(vwx400, vwx401), ddg) → new_esEs16(new_compare32(vwx300, vwx401, vwx400, vwx301, ddg), LT)
new_esEs36(Integer(vwx300), Integer(vwx400)) → new_esEs16(new_primCmpInt(vwx300, vwx400), GT)
new_primMulInt(Neg(vwx400), Pos(vwx310)) → Neg(new_primMulNat0(vwx400, vwx310))
new_primMulInt(Pos(vwx400), Neg(vwx310)) → Neg(new_primMulNat0(vwx400, vwx310))
new_ltEs4(Just(vwx300), Just(vwx400), ty_Ordering) → new_ltEs6(vwx300, vwx400)
new_primMulNat0(Succ(vwx4000), Zero) → Zero
new_primMulNat0(Zero, Succ(vwx3100)) → Zero
new_lt4(Right(vwx300), Left(vwx400), bgh, bha) → new_esEs16(new_compare24(Right(vwx300), Left(vwx400), False, bgh, bha), LT)
new_lt4(Left(vwx300), Right(vwx400), bgh, bha) → new_esEs16(new_compare24(Left(vwx300), Right(vwx400), False, bgh, bha), LT)
new_esEs16(GT, GT) → True
new_esEs9(vwx300, vwx400, app(ty_Maybe, caa)) → new_esEs4(vwx300, vwx400, caa)
new_ltEs15(vwx30, vwx40, bdb) → new_not(new_esEs39(vwx30, vwx40, bdb))
new_esEs5(Left(vwx1090), Left(vwx1100), app(app(app(ty_@3, ced), cee), cef), cch) → new_esEs6(vwx1090, vwx1100, ced, cee, cef)
new_esEs18(True, True) → True
new_esEs9(vwx300, vwx400, ty_Integer) → new_esEs20(vwx300, vwx400)
new_esEs35(vwx1090, vwx1100, ty_Double) → new_esEs21(vwx1090, vwx1100)
new_lt17(True, True) → new_esEs16(new_compare210(True, True, True), LT)
new_esEs12(vwx301, vwx401, ty_Bool) → new_esEs18(vwx301, vwx401)
new_esEs33(vwx1092, vwx1102, app(ty_Ratio, eag)) → new_esEs24(vwx1092, vwx1102, eag)
new_ltEs5(vwx30, vwx40) → new_not(new_esEs16(new_primCmpDouble(vwx30, vwx40), GT))
new_ltEs18(vwx302, vwx402, ty_Bool) → new_ltEs14(vwx302, vwx402)
new_primCompAux00(vwx176, vwx177, LT, dba) → LT
new_esEs35(vwx1090, vwx1100, app(ty_[], ecg)) → new_esEs22(vwx1090, vwx1100, ecg)
new_primCompAux00(vwx176, vwx177, GT, dba) → GT
new_lt12(vwx301, vwx401, app(app(ty_@2, hb), hc)) → new_lt7(vwx301, vwx401, hb, hc)
new_esEs31(vwx1091, vwx1101, ty_@0) → new_esEs19(vwx1091, vwx1101)
new_ltEs18(vwx302, vwx402, ty_Int) → new_ltEs17(vwx302, vwx402)
new_esEs38(vwx1090, vwx1100, app(ty_Ratio, egc)) → new_esEs24(vwx1090, vwx1100, egc)
new_lt14(LT, GT) → new_esEs16(new_compare26(LT, GT, False), LT)
new_lt14(GT, LT) → new_esEs16(new_compare26(GT, LT, False), LT)
new_ltEs6(LT, GT) → True
new_esEs12(vwx301, vwx401, ty_Double) → new_esEs21(vwx301, vwx401)
new_esEs10(vwx300, vwx400, ty_Ordering) → new_esEs16(vwx300, vwx400)
new_esEs33(vwx1092, vwx1102, ty_Int) → new_esEs25(vwx1092, vwx1102)
new_compare(vwx300, vwx400, ty_Int) → new_compare5(vwx300, vwx400)
new_esEs13(vwx300, vwx400, ty_Int) → new_esEs25(vwx300, vwx400)
new_esEs10(vwx300, vwx400, ty_Bool) → new_esEs18(vwx300, vwx400)
new_esEs11(vwx302, vwx402, ty_Ordering) → new_esEs16(vwx302, vwx402)
new_lt13(vwx300, vwx400, ty_Float) → new_lt19(vwx300, vwx400)
new_primCompAux1(vwx300, vwx400, vwx301, vwx401, bdc) → new_primCompAux00(vwx301, vwx401, new_compare(vwx300, vwx400, bdc), app(ty_[], bdc))
new_lt12(vwx301, vwx401, ty_Float) → new_lt19(vwx301, vwx401)
new_esEs38(vwx1090, vwx1100, ty_Float) → new_esEs23(vwx1090, vwx1100)
new_esEs12(vwx301, vwx401, app(app(app(ty_@3, dfh), dga), dgb)) → new_esEs6(vwx301, vwx401, dfh, dga, dgb)
new_esEs32(vwx1090, vwx1100, app(app(app(ty_@3, dda), ddb), ddc)) → new_esEs6(vwx1090, vwx1100, dda, ddb, ddc)
new_esEs35(vwx1090, vwx1100, ty_Int) → new_esEs25(vwx1090, vwx1100)
new_lt17(False, True) → new_esEs16(new_compare210(False, True, False), LT)
new_lt17(True, False) → new_esEs16(new_compare210(True, False, False), LT)
new_esEs4(Just(vwx1090), Just(vwx1100), ty_Bool) → new_esEs18(vwx1090, vwx1100)
new_esEs14(vwx301, vwx401, ty_Ordering) → new_esEs16(vwx301, vwx401)
new_esEs5(Right(vwx1090), Right(vwx1100), ccg, app(ty_Maybe, cfb)) → new_esEs4(vwx1090, vwx1100, cfb)
new_esEs34(vwx1091, vwx1101, ty_Char) → new_esEs17(vwx1091, vwx1101)
new_ltEs19(vwx301, vwx401, app(app(app(ty_@3, bbb), bbc), bbd)) → new_ltEs11(vwx301, vwx401, bbb, bbc, bbd)
new_ltEs14(True, False) → False
new_esEs4(Just(vwx1090), Just(vwx1100), app(ty_Ratio, eeh)) → new_esEs24(vwx1090, vwx1100, eeh)
new_compare11(vwx30, vwx40, False) → GT
new_esEs10(vwx300, vwx400, ty_Double) → new_esEs21(vwx300, vwx400)
new_esEs14(vwx301, vwx401, ty_Double) → new_esEs21(vwx301, vwx401)
new_esEs8(vwx300, vwx400, app(ty_Maybe, egf)) → new_esEs4(vwx300, vwx400, egf)
new_esEs11(vwx302, vwx402, ty_Int) → new_esEs25(vwx302, vwx402)
new_esEs5(Right(vwx1090), Right(vwx1100), ccg, ty_Int) → new_esEs25(vwx1090, vwx1100)
new_esEs11(vwx302, vwx402, app(app(ty_Either, dec), ded)) → new_esEs5(vwx302, vwx402, dec, ded)
new_ltEs10(Right(vwx300), Left(vwx400), de, cc) → False
new_esEs5(Right(vwx1090), Right(vwx1100), ccg, ty_Bool) → new_esEs18(vwx1090, vwx1100)
new_esEs15(vwx300, vwx400, ty_Double) → new_esEs21(vwx300, vwx400)
new_ltEs18(vwx302, vwx402, ty_Float) → new_ltEs16(vwx302, vwx402)
new_compare11(vwx30, vwx40, True) → LT
new_esEs31(vwx1091, vwx1101, app(ty_Maybe, dbc)) → new_esEs4(vwx1091, vwx1101, dbc)
new_esEs5(Left(vwx1090), Left(vwx1100), app(app(ty_Either, cea), ceb), cch) → new_esEs5(vwx1090, vwx1100, cea, ceb)
new_esEs9(vwx300, vwx400, ty_@0) → new_esEs19(vwx300, vwx400)
new_esEs33(vwx1092, vwx1102, app(app(ty_Either, eaa), eab)) → new_esEs5(vwx1092, vwx1102, eaa, eab)
new_primCompAux00(vwx176, vwx177, EQ, ty_Bool) → new_compare29(vwx176, vwx177)
new_lt13(vwx300, vwx400, ty_Bool) → new_lt17(vwx300, vwx400)
new_esEs31(vwx1091, vwx1101, ty_Integer) → new_esEs20(vwx1091, vwx1101)
new_esEs18(False, True) → False
new_esEs18(True, False) → False
new_esEs4(Just(vwx1090), Just(vwx1100), app(app(ty_@2, efa), efb)) → new_esEs7(vwx1090, vwx1100, efa, efb)
new_esEs32(vwx1090, vwx1100, ty_Double) → new_esEs21(vwx1090, vwx1100)
new_esEs31(vwx1091, vwx1101, ty_Ordering) → new_esEs16(vwx1091, vwx1101)
new_esEs4(Just(vwx1090), Just(vwx1100), ty_@0) → new_esEs19(vwx1090, vwx1100)
new_esEs31(vwx1091, vwx1101, ty_Float) → new_esEs23(vwx1091, vwx1101)
new_esEs5(Right(vwx1090), Right(vwx1100), ccg, app(app(ty_@2, cgb), cgc)) → new_esEs7(vwx1090, vwx1100, cgb, cgc)
new_esEs9(vwx300, vwx400, app(app(app(ty_@3, cae), caf), cag)) → new_esEs6(vwx300, vwx400, cae, caf, cag)
new_esEs4(Just(vwx1090), Just(vwx1100), ty_Integer) → new_esEs20(vwx1090, vwx1100)
new_compare111(vwx30, vwx40, True, bfg, bfh) → LT
new_esEs15(vwx300, vwx400, app(ty_[], daa)) → new_esEs22(vwx300, vwx400, daa)
new_primPlusNat1(Zero, Zero) → Zero
new_compare(vwx300, vwx400, ty_@0) → new_compare8(vwx300, vwx400)
new_ltEs6(LT, EQ) → True
new_compare26(vwx30, vwx40, False) → new_compare11(vwx30, vwx40, new_ltEs6(vwx30, vwx40))
new_ltEs6(GT, LT) → False
new_esEs12(vwx301, vwx401, ty_Ordering) → new_esEs16(vwx301, vwx401)
new_esEs15(vwx300, vwx400, ty_Bool) → new_esEs18(vwx300, vwx400)
new_esEs27(@0, @0) → new_esEs16(EQ, GT)
new_primCmpChar(Char(vwx300), Char(vwx400)) → new_primCmpNat0(vwx300, vwx400)
new_asAs(True, vwx160) → vwx160
new_ltEs4(Just(vwx300), Nothing, bhg) → False
new_lt19(Float(vwx300, vwx301), Float(vwx400, vwx401)) → new_esEs16(new_compare5(new_sr(vwx300, vwx400), new_sr(vwx301, vwx401)), LT)
new_primMulNat0(Succ(vwx4000), Succ(vwx3100)) → new_primPlusNat0(new_primMulNat0(vwx4000, Succ(vwx3100)), vwx3100)
new_esEs11(vwx302, vwx402, ty_Char) → new_esEs17(vwx302, vwx402)
new_esEs5(Right(vwx1090), Right(vwx1100), ccg, ty_Ordering) → new_esEs16(vwx1090, vwx1100)
new_esEs35(vwx1090, vwx1100, app(app(ty_Either, ece), ecf)) → new_esEs5(vwx1090, vwx1100, ece, ecf)
new_lt18([], :(vwx400, vwx401), bdc) → new_esEs16(LT, LT)
new_lt20(vwx300, vwx400, app(ty_Ratio, faa)) → new_lt10(vwx300, vwx400, faa)
new_lt20(vwx300, vwx400, ty_Bool) → new_lt17(vwx300, vwx400)
new_lt12(vwx301, vwx401, app(ty_Ratio, edg)) → new_lt10(vwx301, vwx401, edg)
new_compare8(@0, @0) → EQ
new_compare27(vwx30, vwx40, True, bga, bgb, bgc) → EQ
new_esEs14(vwx301, vwx401, ty_Integer) → new_esEs20(vwx301, vwx401)
new_ltEs10(Right(vwx300), Right(vwx400), de, app(ty_[], ef)) → new_ltEs15(vwx300, vwx400, ef)
new_esEs33(vwx1092, vwx1102, app(ty_Maybe, dhh)) → new_esEs4(vwx1092, vwx1102, dhh)
new_ltEs19(vwx301, vwx401, ty_Integer) → new_ltEs13(vwx301, vwx401)
new_compare28(vwx30, vwx40, True, bff) → EQ
new_esEs30(vwx1090, vwx1100, ty_Int) → new_esEs25(vwx1090, vwx1100)
new_primCompAux00(vwx176, vwx177, EQ, app(ty_Ratio, dbb)) → new_compare15(vwx176, vwx177, dbb)
new_esEs15(vwx300, vwx400, ty_@0) → new_esEs19(vwx300, vwx400)
new_ltEs18(vwx302, vwx402, ty_Double) → new_ltEs5(vwx302, vwx402)
new_compare29(vwx30, vwx40) → new_compare210(vwx30, vwx40, new_esEs18(vwx30, vwx40))
new_ltEs4(Just(vwx300), Just(vwx400), app(ty_Ratio, bhh)) → new_ltEs9(vwx300, vwx400, bhh)
new_lt15(@0, @0) → new_esEs16(EQ, LT)
new_esEs6(@3(vwx1090, vwx1091, vwx1092), @3(vwx1100, vwx1101, vwx1102), cdb, cdc, cdd) → new_asAs(new_esEs35(vwx1090, vwx1100, cdb), new_asAs(new_esEs34(vwx1091, vwx1101, cdc), new_esEs33(vwx1092, vwx1102, cdd)))
new_ltEs10(Right(vwx300), Right(vwx400), de, ty_Ordering) → new_ltEs6(vwx300, vwx400)
new_ltEs4(Just(vwx300), Just(vwx400), ty_Float) → new_ltEs16(vwx300, vwx400)
new_esEs11(vwx302, vwx402, app(ty_[], dee)) → new_esEs22(vwx302, vwx402, dee)
new_ltEs10(Right(vwx300), Right(vwx400), de, ty_Float) → new_ltEs16(vwx300, vwx400)
new_esEs5(Left(vwx1090), Left(vwx1100), app(ty_[], cec), cch) → new_esEs22(vwx1090, vwx1100, cec)
new_esEs33(vwx1092, vwx1102, ty_@0) → new_esEs19(vwx1092, vwx1102)
new_esEs38(vwx1090, vwx1100, ty_Integer) → new_esEs20(vwx1090, vwx1100)
new_esEs5(Right(vwx1090), Right(vwx1100), ccg, ty_Integer) → new_esEs20(vwx1090, vwx1100)
new_primCmpInt(Pos(Zero), Pos(Zero)) → EQ
new_esEs8(vwx300, vwx400, ty_Double) → new_esEs21(vwx300, vwx400)
new_ltEs12(@2(vwx300, vwx301), @2(vwx400, vwx401), baf, bca) → new_pePe(new_lt20(vwx300, vwx400, baf), vwx300, vwx400, new_ltEs19(vwx301, vwx401, bca), baf)
new_compare33(vwx300, vwx401, vwx400, vwx301, ty_Int) → new_compare5(new_sr(vwx300, vwx401), new_sr(vwx400, vwx301))
new_esEs10(vwx300, vwx400, app(ty_Maybe, cbc)) → new_esEs4(vwx300, vwx400, cbc)
new_primEqInt(Neg(Zero), Pos(Zero)) → True
new_primEqInt(Pos(Zero), Neg(Zero)) → True
new_esEs32(vwx1090, vwx1100, ty_Integer) → new_esEs20(vwx1090, vwx1100)
new_esEs31(vwx1091, vwx1101, app(app(ty_@2, dcc), dcd)) → new_esEs7(vwx1091, vwx1101, dcc, dcd)
new_compare27(vwx30, vwx40, False, bga, bgb, bgc) → new_compare12(vwx30, vwx40, new_ltEs11(vwx30, vwx40, bga, bgb, bgc), bga, bgb, bgc)
new_primCmpInt(Neg(Succ(vwx3000)), Pos(vwx400)) → LT
new_lt12(vwx301, vwx401, ty_Int) → new_lt5(vwx301, vwx401)
new_not(True) → False
new_primCompAux00(vwx176, vwx177, EQ, ty_Int) → new_compare5(vwx176, vwx177)
new_esEs5(Left(vwx1090), Left(vwx1100), ty_Char, cch) → new_esEs17(vwx1090, vwx1100)
new_lt18(:(vwx300, vwx301), :(vwx400, vwx401), bdc) → new_esEs16(new_primCompAux1(vwx300, vwx400, vwx301, vwx401, bdc), LT)
new_esEs18(False, False) → True

The set Q consists of the following terms:

new_ltEs10(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_esEs13(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs10(x0, x1, ty_Char)
new_esEs5(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_lt18([], :(x0, x1), x2)
new_esEs8(x0, x1, ty_@0)
new_ltEs9(x0, x1, x2)
new_lt5(Neg(Zero), Pos(Zero))
new_lt5(Pos(Zero), Neg(Zero))
new_lt4(Left(x0), Left(x1), x2, x3)
new_lt17(False, False)
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_primCmpInt(Pos(Succ(x0)), Neg(x1))
new_esEs5(Right(x0), Right(x1), x2, ty_Double)
new_esEs31(x0, x1, ty_Double)
new_esEs31(x0, x1, app(ty_Ratio, x2))
new_primCompAux00(x0, x1, EQ, ty_Float)
new_ltEs18(x0, x1, app(ty_Ratio, x2))
new_esEs39([], [], x0)
new_esEs10(x0, x1, ty_@0)
new_esEs38(x0, x1, ty_Bool)
new_esEs21(Double(x0, x1), Double(x2, x3))
new_primEqNat0(Succ(x0), Zero)
new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1)))
new_lt20(x0, x1, ty_Double)
new_ltEs4(Just(x0), Just(x1), app(ty_[], x2))
new_esEs35(x0, x1, ty_Float)
new_esEs5(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_esEs15(x0, x1, ty_Ordering)
new_lt20(x0, x1, ty_Integer)
new_compare33(x0, x1, x2, x3, ty_Int)
new_primCompAux00(x0, x1, EQ, ty_Ordering)
new_compare110(x0, x1, False)
new_esEs32(x0, x1, ty_Double)
new_esEs9(x0, x1, app(ty_Maybe, x2))
new_esEs38(x0, x1, app(ty_Maybe, x2))
new_compare6(x0, x1)
new_esEs29(x0, x1, ty_Int)
new_esEs34(x0, x1, ty_Bool)
new_esEs11(x0, x1, ty_Double)
new_lt13(x0, x1, ty_Char)
new_primCompAux00(x0, x1, EQ, ty_Integer)
new_esEs31(x0, x1, app(app(ty_Either, x2), x3))
new_lt6(Char(x0), Char(x1))
new_esEs12(x0, x1, ty_Bool)
new_compare24(x0, x1, False, x2, x3)
new_esEs15(x0, x1, ty_Integer)
new_esEs38(x0, x1, ty_Float)
new_lt16(Just(x0), Just(x1), x2)
new_esEs33(x0, x1, app(ty_Ratio, x2))
new_lt5(Neg(Zero), Pos(Succ(x0)))
new_lt5(Pos(Zero), Neg(Succ(x0)))
new_esEs26(x0, x1, ty_Int)
new_ltEs12(@2(x0, x1), @2(x2, x3), x4, x5)
new_esEs8(x0, x1, ty_Bool)
new_lt13(x0, x1, ty_Double)
new_esEs35(x0, x1, app(ty_[], x2))
new_lt12(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs18(x0, x1, ty_Char)
new_ltEs14(True, False)
new_ltEs14(False, True)
new_esEs33(x0, x1, ty_Char)
new_esEs33(x0, x1, ty_Int)
new_ltEs10(Right(x0), Right(x1), x2, ty_Integer)
new_compare32(x0, x1, x2, x3, ty_Integer)
new_esEs34(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs10(Left(x0), Left(x1), ty_Float, x2)
new_lt13(x0, x1, app(ty_[], x2))
new_esEs15(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs14(x0, x1, ty_Char)
new_compare26(x0, x1, True)
new_esEs32(x0, x1, ty_Char)
new_esEs4(Just(x0), Just(x1), app(ty_Maybe, x2))
new_esEs5(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_esEs26(x0, x1, app(ty_Maybe, x2))
new_lt17(True, True)
new_esEs18(True, True)
new_esEs31(x0, x1, ty_Int)
new_compare24(x0, x1, True, x2, x3)
new_esEs4(Just(x0), Just(x1), app(ty_[], x2))
new_esEs9(x0, x1, app(ty_[], x2))
new_esEs16(LT, GT)
new_esEs16(GT, LT)
new_esEs9(x0, x1, ty_Double)
new_ltEs18(x0, x1, app(ty_Maybe, x2))
new_primCompAux00(x0, x1, EQ, app(app(ty_Either, x2), x3))
new_esEs33(x0, x1, ty_Double)
new_compare111(x0, x1, True, x2, x3)
new_esEs32(x0, x1, app(ty_[], x2))
new_esEs31(x0, x1, app(app(ty_@2, x2), x3))
new_esEs33(x0, x1, ty_Bool)
new_esEs32(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs18(x0, x1, ty_Bool)
new_lt13(x0, x1, ty_Ordering)
new_esEs15(x0, x1, ty_@0)
new_esEs8(x0, x1, ty_Float)
new_esEs38(x0, x1, ty_Integer)
new_esEs14(x0, x1, ty_Double)
new_esEs5(Right(x0), Right(x1), x2, ty_Int)
new_primEqNat0(Zero, Succ(x0))
new_lt20(x0, x1, ty_Float)
new_lt4(Right(x0), Right(x1), x2, x3)
new_compare5(x0, x1)
new_esEs11(x0, x1, ty_Float)
new_ltEs19(x0, x1, ty_@0)
new_primCompAux1(x0, x1, x2, x3, x4)
new_compare28(x0, x1, True, x2)
new_primMulNat0(Zero, Succ(x0))
new_compare8(@0, @0)
new_compare26(x0, x1, False)
new_compare30(:(x0, x1), [], x2)
new_esEs36(Integer(x0), Integer(x1))
new_esEs4(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_compare(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs6(EQ, EQ)
new_lt13(x0, x1, app(app(ty_@2, x2), x3))
new_esEs13(x0, x1, ty_Int)
new_primCompAux00(x0, x1, EQ, ty_Int)
new_esEs5(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_esEs14(x0, x1, ty_Float)
new_lt18(:(x0, x1), [], x2)
new_esEs31(x0, x1, ty_Integer)
new_esEs32(x0, x1, app(app(ty_Either, x2), x3))
new_lt13(x0, x1, app(ty_Ratio, x2))
new_primCompAux00(x0, x1, EQ, app(app(app(ty_@3, x2), x3), x4))
new_compare27(x0, x1, False, x2, x3, x4)
new_esEs4(Just(x0), Just(x1), ty_Bool)
new_esEs34(x0, x1, app(ty_[], x2))
new_ltEs6(LT, EQ)
new_ltEs6(EQ, LT)
new_compare29(x0, x1)
new_sr(x0, x1)
new_ltEs18(x0, x1, app(app(ty_@2, x2), x3))
new_primMulNat0(Succ(x0), Succ(x1))
new_esEs12(x0, x1, ty_@0)
new_esEs10(x0, x1, ty_Bool)
new_primEqNat0(Zero, Zero)
new_pePe(False, x0, x1, x2, x3)
new_esEs15(x0, x1, ty_Float)
new_lt13(x0, x1, app(ty_Maybe, x2))
new_esEs4(Just(x0), Just(x1), ty_Integer)
new_lt15(@0, @0)
new_ltEs4(Just(x0), Just(x1), ty_Integer)
new_esEs22([], :(x0, x1), x2)
new_esEs11(x0, x1, ty_@0)
new_compare16(x0, x1, x2, x3)
new_esEs14(x0, x1, app(ty_Ratio, x2))
new_esEs24(:%(x0, x1), :%(x2, x3), x4)
new_ltEs10(Right(x0), Right(x1), x2, app(ty_[], x3))
new_esEs22(:(x0, x1), [], x2)
new_lt5(Pos(Zero), Pos(Zero))
new_compare(x0, x1, ty_Char)
new_ltEs10(Right(x0), Right(x1), x2, ty_Float)
new_lt20(x0, x1, app(app(ty_@2, x2), x3))
new_lt14(EQ, LT)
new_lt14(LT, EQ)
new_compare10(x0, x1, False, x2, x3)
new_esEs26(x0, x1, ty_Integer)
new_esEs9(x0, x1, app(app(ty_@2, x2), x3))
new_primMulInt(Pos(x0), Pos(x1))
new_lt14(GT, GT)
new_compare10(x0, x1, True, x2, x3)
new_lt20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs10(Left(x0), Left(x1), ty_Ordering, x2)
new_primMulNat0(Zero, Zero)
new_esEs4(Just(x0), Just(x1), app(ty_Ratio, x2))
new_esEs22(:(x0, x1), :(x2, x3), x4)
new_ltEs8(x0, x1)
new_esEs26(x0, x1, ty_Char)
new_compare(x0, x1, ty_Double)
new_esEs13(x0, x1, ty_Float)
new_esEs4(Just(x0), Just(x1), ty_Int)
new_lt5(Pos(Zero), Pos(Succ(x0)))
new_lt4(Right(x0), Left(x1), x2, x3)
new_lt4(Left(x0), Right(x1), x2, x3)
new_lt12(x0, x1, ty_Ordering)
new_esEs30(x0, x1, ty_Int)
new_esEs9(x0, x1, ty_Float)
new_ltEs10(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_esEs14(x0, x1, app(app(ty_Either, x2), x3))
new_primPlusNat1(Succ(x0), Zero)
new_lt12(x0, x1, app(ty_Ratio, x2))
new_lt16(Just(x0), Nothing, x1)
new_esEs34(x0, x1, ty_Int)
new_compare17(x0, x1, x2, x3, x4)
new_ltEs10(Right(x0), Right(x1), x2, ty_Bool)
new_esEs8(x0, x1, app(app(ty_Either, x2), x3))
new_esEs35(x0, x1, ty_Integer)
new_esEs35(x0, x1, app(ty_Maybe, x2))
new_lt16(Nothing, Nothing, x0)
new_esEs12(x0, x1, ty_Int)
new_esEs12(x0, x1, ty_Ordering)
new_esEs13(x0, x1, ty_Integer)
new_lt20(x0, x1, ty_Char)
new_esEs13(x0, x1, app(ty_Ratio, x2))
new_esEs26(x0, x1, ty_Ordering)
new_ltEs4(Just(x0), Just(x1), ty_Char)
new_ltEs13(x0, x1)
new_primCompAux00(x0, x1, EQ, ty_Char)
new_esEs16(GT, GT)
new_compare13(x0, x1, True, x2)
new_esEs15(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs18(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs11(x0, x1, ty_Char)
new_ltEs4(Just(x0), Just(x1), ty_Double)
new_lt13(x0, x1, app(app(ty_Either, x2), x3))
new_esEs5(Right(x0), Right(x1), x2, app(ty_[], x3))
new_esEs25(x0, x1)
new_compare7(x0, x1)
new_ltEs10(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_ltEs4(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_esEs12(x0, x1, app(ty_[], x2))
new_asAs(True, x0)
new_esEs31(x0, x1, app(ty_Maybe, x2))
new_esEs39(:(x0, x1), :(x2, x3), x4)
new_esEs10(x0, x1, app(app(ty_@2, x2), x3))
new_lt20(x0, x1, ty_@0)
new_compare(x0, x1, app(app(ty_@2, x2), x3))
new_esEs35(x0, x1, app(app(ty_Either, x2), x3))
new_esEs8(x0, x1, ty_Char)
new_primEqInt(Neg(Zero), Neg(Succ(x0)))
new_ltEs6(GT, LT)
new_ltEs6(LT, GT)
new_esEs13(x0, x1, app(app(ty_Either, x2), x3))
new_lt19(Float(x0, x1), Float(x2, x3))
new_esEs14(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primCompAux00(x0, x1, EQ, ty_@0)
new_esEs9(x0, x1, ty_Integer)
new_esEs38(x0, x1, ty_@0)
new_ltEs4(Nothing, Nothing, x0)
new_esEs8(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs18(False, False)
new_ltEs10(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_primPlusNat1(Succ(x0), Succ(x1))
new_esEs12(x0, x1, app(app(ty_Either, x2), x3))
new_lt12(x0, x1, ty_@0)
new_esEs5(Right(x0), Left(x1), x2, x3)
new_esEs5(Left(x0), Right(x1), x2, x3)
new_compare15(:%(x0, x1), :%(x2, x3), ty_Integer)
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_ltEs19(x0, x1, app(ty_[], x2))
new_esEs4(Nothing, Nothing, x0)
new_esEs14(x0, x1, ty_Int)
new_esEs35(x0, x1, ty_Char)
new_esEs26(x0, x1, ty_Double)
new_compare9(x0, x1)
new_ltEs19(x0, x1, ty_Integer)
new_esEs8(x0, x1, ty_Ordering)
new_esEs12(x0, x1, ty_Char)
new_esEs31(x0, x1, ty_Float)
new_esEs12(x0, x1, app(app(ty_@2, x2), x3))
new_esEs20(Integer(x0), Integer(x1))
new_esEs33(x0, x1, app(ty_Maybe, x2))
new_esEs32(x0, x1, app(ty_Ratio, x2))
new_esEs14(x0, x1, ty_Ordering)
new_primPlusNat1(Zero, Zero)
new_esEs4(Just(x0), Nothing, x1)
new_primCmpInt(Neg(Succ(x0)), Neg(x1))
new_compare210(x0, x1, True)
new_esEs10(x0, x1, ty_Ordering)
new_primCompAux00(x0, x1, LT, x2)
new_ltEs10(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_esEs13(x0, x1, ty_Char)
new_esEs8(x0, x1, ty_Integer)
new_ltEs4(Just(x0), Just(x1), ty_Bool)
new_ltEs10(Right(x0), Right(x1), x2, ty_Ordering)
new_esEs5(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_esEs31(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt14(GT, EQ)
new_lt14(EQ, GT)
new_esEs15(x0, x1, app(ty_Ratio, x2))
new_compare13(x0, x1, False, x2)
new_ltEs19(x0, x1, ty_Char)
new_lt12(x0, x1, ty_Double)
new_esEs8(x0, x1, app(ty_Ratio, x2))
new_ltEs4(Just(x0), Just(x1), ty_Float)
new_lt17(False, True)
new_lt17(True, False)
new_primCompAux00(x0, x1, EQ, app(app(ty_@2, x2), x3))
new_esEs9(x0, x1, app(app(ty_Either, x2), x3))
new_primCmpInt(Neg(Zero), Neg(Zero))
new_ltEs19(x0, x1, app(app(ty_Either, x2), x3))
new_primEqInt(Pos(Zero), Neg(Succ(x0)))
new_primEqInt(Neg(Zero), Pos(Succ(x0)))
new_esEs17(Char(x0), Char(x1))
new_lt12(x0, x1, ty_Integer)
new_compare(x0, x1, app(ty_Ratio, x2))
new_ltEs19(x0, x1, app(app(ty_@2, x2), x3))
new_compare27(x0, x1, True, x2, x3, x4)
new_pePe(True, x0, x1, x2, x3)
new_compare(x0, x1, app(ty_[], x2))
new_esEs6(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_lt12(x0, x1, app(ty_Maybe, x2))
new_esEs12(x0, x1, ty_Double)
new_primMulNat0(Succ(x0), Zero)
new_compare(x0, x1, app(ty_Maybe, x2))
new_ltEs10(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_esEs35(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs10(Left(x0), Left(x1), ty_Integer, x2)
new_lt14(EQ, EQ)
new_ltEs18(x0, x1, ty_Double)
new_esEs35(x0, x1, app(ty_Ratio, x2))
new_compare19(Integer(x0), Integer(x1))
new_esEs11(x0, x1, ty_Ordering)
new_esEs14(x0, x1, ty_Integer)
new_ltEs10(Right(x0), Right(x1), x2, ty_Double)
new_esEs10(x0, x1, app(ty_Maybe, x2))
new_esEs11(x0, x1, app(ty_[], x2))
new_esEs31(x0, x1, ty_Bool)
new_lt12(x0, x1, ty_Char)
new_ltEs10(Left(x0), Left(x1), ty_Int, x2)
new_esEs15(x0, x1, ty_Int)
new_esEs35(x0, x1, ty_Ordering)
new_esEs4(Nothing, Just(x0), x1)
new_esEs12(x0, x1, app(ty_Ratio, x2))
new_esEs5(Right(x0), Right(x1), x2, ty_Bool)
new_esEs11(x0, x1, ty_Integer)
new_esEs38(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt18([], [], x0)
new_esEs32(x0, x1, ty_Bool)
new_esEs7(@2(x0, x1), @2(x2, x3), x4, x5)
new_lt12(x0, x1, ty_Int)
new_ltEs10(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_primEqNat0(Succ(x0), Succ(x1))
new_primEqInt(Neg(Zero), Pos(Zero))
new_primEqInt(Pos(Zero), Neg(Zero))
new_esEs31(x0, x1, ty_@0)
new_ltEs7(x0, x1)
new_esEs32(x0, x1, ty_Ordering)
new_esEs35(x0, x1, app(app(ty_@2, x2), x3))
new_lt12(x0, x1, ty_Float)
new_lt20(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs18(x0, x1, ty_Integer)
new_lt13(x0, x1, ty_Int)
new_esEs30(x0, x1, ty_Integer)
new_lt16(Nothing, Just(x0), x1)
new_esEs4(Just(x0), Just(x1), ty_@0)
new_esEs23(Float(x0, x1), Float(x2, x3))
new_esEs5(Right(x0), Right(x1), x2, ty_Char)
new_compare30([], :(x0, x1), x2)
new_compare(x0, x1, app(app(ty_Either, x2), x3))
new_esEs37(:%(x0, x1), :%(x2, x3), x4)
new_esEs34(x0, x1, app(app(ty_Either, x2), x3))
new_lt8(Integer(x0), Integer(x1))
new_esEs9(x0, x1, ty_Int)
new_ltEs19(x0, x1, ty_Float)
new_primCmpInt(Pos(Zero), Pos(Zero))
new_esEs18(False, True)
new_esEs18(True, False)
new_esEs5(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_ltEs4(Nothing, Just(x0), x1)
new_ltEs18(x0, x1, ty_Float)
new_esEs13(x0, x1, app(ty_Maybe, x2))
new_compare(x0, x1, ty_Integer)
new_compare110(x0, x1, True)
new_esEs14(x0, x1, ty_@0)
new_esEs5(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_primEqInt(Neg(Zero), Neg(Zero))
new_esEs38(x0, x1, ty_Ordering)
new_compare12(x0, x1, True, x2, x3, x4)
new_esEs39(:(x0, x1), [], x2)
new_lt5(Neg(Zero), Neg(Succ(x0)))
new_esEs32(x0, x1, ty_Float)
new_compare30([], [], x0)
new_esEs38(x0, x1, ty_Char)
new_esEs38(x0, x1, ty_Double)
new_esEs13(x0, x1, ty_@0)
new_esEs15(x0, x1, ty_Bool)
new_esEs33(x0, x1, app(app(ty_@2, x2), x3))
new_esEs16(LT, LT)
new_compare18(x0, x1, x2, x3)
new_esEs11(x0, x1, app(ty_Ratio, x2))
new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1)))
new_esEs35(x0, x1, ty_Double)
new_compare14(x0, x1, x2)
new_ltEs18(x0, x1, ty_Ordering)
new_primCompAux00(x0, x1, EQ, app(ty_Ratio, x2))
new_asAs(False, x0)
new_esEs11(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs32(x0, x1, ty_Integer)
new_esEs11(x0, x1, ty_Int)
new_lt12(x0, x1, ty_Bool)
new_esEs26(x0, x1, app(ty_[], x2))
new_esEs34(x0, x1, app(app(ty_@2, x2), x3))
new_esEs4(Just(x0), Just(x1), ty_Float)
new_lt9(Double(x0, x1), Double(x2, x3))
new_ltEs4(Just(x0), Just(x1), app(ty_Ratio, x2))
new_ltEs4(Just(x0), Just(x1), ty_Ordering)
new_esEs32(x0, x1, ty_@0)
new_esEs26(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primCmpNat0(Zero, Succ(x0))
new_esEs11(x0, x1, ty_Bool)
new_ltEs19(x0, x1, ty_Bool)
new_esEs5(Right(x0), Right(x1), x2, ty_Float)
new_primMulInt(Neg(x0), Neg(x1))
new_lt5(Neg(Succ(x0)), Neg(x1))
new_lt5(Neg(Zero), Neg(Zero))
new_esEs10(x0, x1, app(ty_[], x2))
new_esEs8(x0, x1, app(ty_Maybe, x2))
new_esEs10(x0, x1, app(ty_Ratio, x2))
new_esEs10(x0, x1, ty_Double)
new_esEs11(x0, x1, app(app(ty_@2, x2), x3))
new_primCompAux00(x0, x1, EQ, ty_Bool)
new_compare11(x0, x1, True)
new_lt10(:%(x0, x1), :%(x2, x3), x4)
new_esEs9(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs18(x0, x1, ty_@0)
new_ltEs6(GT, GT)
new_esEs8(x0, x1, ty_Int)
new_compare31(x0, x1)
new_lt20(x0, x1, ty_Ordering)
new_esEs12(x0, x1, ty_Float)
new_ltEs10(Right(x0), Right(x1), x2, ty_@0)
new_esEs31(x0, x1, app(ty_[], x2))
new_primEqInt(Pos(Succ(x0)), Neg(x1))
new_primEqInt(Neg(Succ(x0)), Pos(x1))
new_esEs5(Right(x0), Right(x1), x2, ty_@0)
new_esEs10(x0, x1, ty_Float)
new_esEs26(x0, x1, ty_@0)
new_ltEs4(Just(x0), Just(x1), ty_Int)
new_compare30(:(x0, x1), :(x2, x3), x4)
new_esEs5(Left(x0), Left(x1), ty_Char, x2)
new_esEs4(Just(x0), Just(x1), ty_Char)
new_esEs38(x0, x1, app(ty_[], x2))
new_esEs5(Right(x0), Right(x1), x2, ty_Integer)
new_compare(x0, x1, ty_@0)
new_esEs35(x0, x1, ty_Bool)
new_primEqInt(Neg(Succ(x0)), Neg(Zero))
new_ltEs19(x0, x1, app(ty_Maybe, x2))
new_lt13(x0, x1, ty_Bool)
new_compare28(x0, x1, False, x2)
new_esEs33(x0, x1, ty_Integer)
new_esEs14(x0, x1, app(app(ty_@2, x2), x3))
new_esEs38(x0, x1, app(app(ty_@2, x2), x3))
new_esEs34(x0, x1, ty_Char)
new_esEs33(x0, x1, ty_Float)
new_lt18(:(x0, x1), :(x2, x3), x4)
new_primCmpNat0(Zero, Zero)
new_esEs5(Left(x0), Left(x1), ty_@0, x2)
new_esEs9(x0, x1, ty_Ordering)
new_ltEs10(Left(x0), Left(x1), ty_Double, x2)
new_esEs26(x0, x1, app(app(ty_Either, x2), x3))
new_esEs35(x0, x1, ty_Int)
new_ltEs6(LT, LT)
new_ltEs10(Left(x0), Left(x1), app(ty_[], x2), x3)
new_esEs34(x0, x1, ty_Ordering)
new_ltEs10(Left(x0), Left(x1), ty_Char, x2)
new_lt7(@2(x0, x1), @2(x2, x3), x4, x5)
new_ltEs10(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_ltEs10(Right(x0), Left(x1), x2, x3)
new_ltEs10(Left(x0), Right(x1), x2, x3)
new_primPlusNat1(Zero, Succ(x0))
new_esEs5(Left(x0), Left(x1), ty_Bool, x2)
new_esEs15(x0, x1, app(ty_Maybe, x2))
new_esEs32(x0, x1, app(ty_Maybe, x2))
new_esEs13(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs19(x0, x1, ty_Ordering)
new_compare210(x0, x1, False)
new_esEs10(x0, x1, ty_Integer)
new_primCompAux00(x0, x1, EQ, ty_Double)
new_primCompAux00(x0, x1, GT, x2)
new_esEs15(x0, x1, ty_Char)
new_esEs34(x0, x1, ty_Float)
new_esEs9(x0, x1, ty_Char)
new_esEs11(x0, x1, app(app(ty_Either, x2), x3))
new_esEs9(x0, x1, ty_@0)
new_lt12(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs10(x0, x1, ty_Int)
new_primCmpDouble(Double(x0, x1), Double(x2, x3))
new_lt14(LT, GT)
new_lt14(GT, LT)
new_esEs9(x0, x1, ty_Bool)
new_primEqInt(Pos(Succ(x0)), Pos(Zero))
new_esEs34(x0, x1, ty_@0)
new_esEs4(Just(x0), Just(x1), ty_Double)
new_ltEs15(x0, x1, x2)
new_ltEs4(Just(x0), Just(x1), app(ty_Maybe, x2))
new_lt5(Pos(Succ(x0)), Pos(x1))
new_primCompAux00(x0, x1, EQ, app(ty_Maybe, x2))
new_compare11(x0, x1, False)
new_esEs4(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_primMulInt(Neg(x0), Pos(x1))
new_primMulInt(Pos(x0), Neg(x1))
new_ltEs14(True, True)
new_compare25(x0, x1, True, x2, x3)
new_ltEs11(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_lt5(Neg(Succ(x0)), Pos(x1))
new_lt5(Pos(Succ(x0)), Neg(x1))
new_ltEs14(False, False)
new_ltEs4(Just(x0), Nothing, x1)
new_primCmpNat0(Succ(x0), Succ(x1))
new_primEqInt(Pos(Zero), Pos(Succ(x0)))
new_compare(x0, x1, ty_Ordering)
new_compare(x0, x1, ty_Int)
new_lt14(LT, LT)
new_esEs39([], :(x0, x1), x2)
new_esEs12(x0, x1, ty_Integer)
new_not(True)
new_ltEs10(Right(x0), Right(x1), x2, ty_Int)
new_ltEs19(x0, x1, app(ty_Ratio, x2))
new_esEs33(x0, x1, ty_Ordering)
new_ltEs10(Left(x0), Left(x1), ty_@0, x2)
new_esEs29(x0, x1, ty_Integer)
new_esEs11(x0, x1, app(ty_Maybe, x2))
new_ltEs16(x0, x1)
new_esEs33(x0, x1, app(app(ty_Either, x2), x3))
new_esEs16(EQ, LT)
new_esEs16(LT, EQ)
new_esEs27(@0, @0)
new_esEs5(Left(x0), Left(x1), ty_Float, x2)
new_esEs26(x0, x1, app(ty_Ratio, x2))
new_ltEs10(Left(x0), Left(x1), ty_Bool, x2)
new_esEs12(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs5(x0, x1)
new_esEs16(EQ, EQ)
new_ltEs4(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_esEs5(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_esEs14(x0, x1, app(ty_[], x2))
new_ltEs4(Just(x0), Just(x1), ty_@0)
new_primCmpInt(Neg(Zero), Pos(Zero))
new_primCmpInt(Pos(Zero), Neg(Zero))
new_compare32(x0, x1, x2, x3, ty_Int)
new_not(False)
new_esEs38(x0, x1, ty_Int)
new_esEs22([], [], x0)
new_lt13(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt20(x0, x1, app(ty_Ratio, x2))
new_esEs34(x0, x1, ty_Double)
new_compare(x0, x1, ty_Bool)
new_compare(x0, x1, ty_Float)
new_ltEs6(EQ, GT)
new_ltEs6(GT, EQ)
new_esEs15(x0, x1, app(app(ty_@2, x2), x3))
new_esEs10(x0, x1, app(app(ty_Either, x2), x3))
new_esEs5(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_esEs38(x0, x1, app(ty_Ratio, x2))
new_esEs14(x0, x1, ty_Bool)
new_esEs32(x0, x1, ty_Int)
new_esEs8(x0, x1, app(ty_[], x2))
new_esEs33(x0, x1, app(ty_[], x2))
new_compare111(x0, x1, False, x2, x3)
new_compare12(x0, x1, False, x2, x3, x4)
new_lt20(x0, x1, app(ty_Maybe, x2))
new_esEs5(Left(x0), Left(x1), ty_Integer, x2)
new_esEs14(x0, x1, app(ty_Maybe, x2))
new_sr0(Integer(x0), Integer(x1))
new_esEs5(Right(x0), Right(x1), x2, ty_Ordering)
new_esEs8(x0, x1, app(app(ty_@2, x2), x3))
new_esEs34(x0, x1, app(ty_Maybe, x2))
new_ltEs19(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_ltEs10(Right(x0), Right(x1), x2, ty_Char)
new_esEs5(Left(x0), Left(x1), ty_Ordering, x2)
new_lt13(x0, x1, ty_Integer)
new_ltEs18(x0, x1, ty_Int)
new_ltEs18(x0, x1, app(ty_[], x2))
new_esEs28(x0, x1)
new_lt20(x0, x1, app(ty_[], x2))
new_esEs16(EQ, GT)
new_esEs16(GT, EQ)
new_esEs13(x0, x1, ty_Double)
new_compare33(x0, x1, x2, x3, ty_Integer)
new_esEs5(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_esEs13(x0, x1, ty_Bool)
new_compare25(x0, x1, False, x2, x3)
new_esEs26(x0, x1, ty_Float)
new_lt12(x0, x1, app(app(ty_@2, x2), x3))
new_esEs5(Left(x0), Left(x1), ty_Double, x2)
new_primCmpFloat(Float(x0, x1), Float(x2, x3))
new_esEs38(x0, x1, app(app(ty_Either, x2), x3))
new_esEs31(x0, x1, ty_Ordering)
new_esEs10(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs26(x0, x1, app(app(ty_@2, x2), x3))
new_esEs15(x0, x1, app(ty_[], x2))
new_esEs33(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs4(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_ltEs19(x0, x1, ty_Int)
new_primPlusNat0(Succ(x0), x1)
new_esEs33(x0, x1, ty_@0)
new_esEs32(x0, x1, app(app(ty_@2, x2), x3))
new_esEs15(x0, x1, ty_Double)
new_ltEs10(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_ltEs4(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_ltEs18(x0, x1, app(app(ty_Either, x2), x3))
new_compare15(:%(x0, x1), :%(x2, x3), ty_Int)
new_ltEs10(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_esEs34(x0, x1, ty_Integer)
new_primEqInt(Pos(Zero), Pos(Zero))
new_lt11(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_esEs34(x0, x1, app(ty_Ratio, x2))
new_lt13(x0, x1, ty_Float)
new_esEs4(Just(x0), Just(x1), ty_Ordering)
new_ltEs19(x0, x1, ty_Double)
new_esEs31(x0, x1, ty_Char)
new_esEs12(x0, x1, app(ty_Maybe, x2))
new_esEs26(x0, x1, ty_Bool)
new_lt20(x0, x1, ty_Bool)
new_primCmpChar(Char(x0), Char(x1))
new_esEs19(@0, @0)
new_esEs5(Left(x0), Left(x1), app(ty_[], x2), x3)
new_primCmpNat0(Succ(x0), Zero)
new_lt12(x0, x1, app(ty_[], x2))
new_lt13(x0, x1, ty_@0)
new_esEs13(x0, x1, app(ty_[], x2))
new_primCompAux00(x0, x1, EQ, app(ty_[], x2))
new_esEs9(x0, x1, app(ty_Ratio, x2))
new_esEs8(x0, x1, ty_Double)
new_esEs5(Left(x0), Left(x1), ty_Int, x2)
new_lt20(x0, x1, ty_Int)
new_ltEs17(x0, x1)
new_primCmpInt(Pos(Succ(x0)), Pos(x1))
new_primPlusNat0(Zero, x0)
new_esEs13(x0, x1, ty_Ordering)
new_esEs35(x0, x1, ty_@0)

We have to consider all minimal (P,Q,R)-chains.
As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [15] we can delete all non-usable rules [17] from R.

↳ HASKELL
  ↳ CR
    ↳ HASKELL
      ↳ IFR
        ↳ HASKELL
          ↳ BR
            ↳ HASKELL
              ↳ COR
                ↳ HASKELL
                  ↳ LetRed
                    ↳ HASKELL
                      ↳ NumRed
                        ↳ HASKELL
                          ↳ Narrow
                            ↳ AND
                              ↳ QDP
                              ↳ QDP
                              ↳ QDP
                              ↳ QDP
                              ↳ QDP
                              ↳ QDP
                                ↳ DependencyGraphProof
                                  ↳ QDP
                                    ↳ UsableRulesProof
QDP
                                        ↳ QDPSizeChangeProof

Q DP problem:
The TRS P consists of the following rules:

new_ltEs1(@3(vwx300, vwx301, vwx302), @3(vwx400, vwx401, vwx402), eg, app(app(ty_Either, ge), gf), gd) → new_lt0(vwx301, vwx401, ge, gf)
new_ltEs2(@2(vwx300, vwx301), @2(vwx400, vwx401), app(ty_Maybe, bbh), bca) → new_lt(vwx300, vwx400, bbh)
new_ltEs0(Left(vwx300), Left(vwx400), app(ty_[], dd), cc) → new_ltEs3(vwx300, vwx400, dd)
new_ltEs2(@2(vwx300, vwx301), @2(vwx400, vwx401), app(app(ty_@2, bcg), bch), bca) → new_lt2(vwx300, vwx400, bcg, bch)
new_ltEs2(@2(vwx300, vwx301), @2(vwx400, vwx401), app(ty_[], bda), bca) → new_lt3(vwx300, vwx400, bda)
new_ltEs1(@3(vwx300, vwx301, vwx302), @3(vwx400, vwx401, vwx402), eg, app(app(app(ty_@3, gg), gh), ha), gd) → new_lt1(vwx301, vwx401, gg, gh, ha)
new_ltEs2(@2(vwx300, vwx301), @2(vwx400, vwx401), baf, app(ty_Maybe, bag)) → new_ltEs(vwx301, vwx401, bag)
new_lt(Just(vwx300), Just(vwx400), bgg) → new_compare20(Just(vwx300), Just(vwx400), new_esEs8(vwx300, vwx400, bgg), bgg)
new_primCompAux(vwx300, vwx400, vwx301, vwx401, app(app(app(ty_@3, bdg), bdh), bea)) → new_compare2(vwx300, vwx400, bdg, bdh, bea)
new_ltEs1(@3(vwx300, vwx301, vwx302), @3(vwx400, vwx401, vwx402), eg, eh, app(ty_[], gb)) → new_ltEs3(vwx302, vwx402, gb)
new_lt3(:(vwx300, vwx301), :(vwx400, vwx401), app(app(ty_Either, bde), bdf)) → new_compare1(vwx300, vwx400, bde, bdf)
new_ltEs(Just(vwx300), Just(vwx400), app(app(ty_Either, bb), bc)) → new_ltEs0(vwx300, vwx400, bb, bc)
new_ltEs1(@3(vwx300, vwx301, vwx302), @3(vwx400, vwx401, vwx402), app(ty_Maybe, he), eh, gd) → new_lt(vwx300, vwx400, he)
new_ltEs1(@3(vwx300, vwx301, vwx302), @3(vwx400, vwx401, vwx402), eg, eh, app(app(ty_@2, fh), ga)) → new_ltEs2(vwx302, vwx402, fh, ga)
new_ltEs3(:(vwx300, vwx301), :(vwx400, vwx401), bdb) → new_primCompAux(vwx300, vwx400, vwx301, vwx401, bdb)
new_compare21(vwx30, vwx40, False, bfg, bfh) → new_ltEs0(vwx30, vwx40, bfg, bfh)
new_lt3(:(vwx300, vwx301), :(vwx400, vwx401), app(app(ty_@2, beb), bec)) → new_compare3(vwx300, vwx400, beb, bec)
new_ltEs2(@2(vwx300, vwx301), @2(vwx400, vwx401), app(app(ty_Either, bcb), bcc), bca) → new_lt0(vwx300, vwx400, bcb, bcc)
new_lt(Nothing, Just(vwx400), bgg) → new_compare20(Nothing, Just(vwx400), False, bgg)
new_lt(Just(vwx300), Nothing, bgg) → new_compare20(Just(vwx300), Nothing, False, bgg)
new_ltEs(Just(vwx300), Just(vwx400), app(app(app(ty_@3, bd), be), bf)) → new_ltEs1(vwx300, vwx400, bd, be, bf)
new_ltEs1(@3(vwx300, vwx301, vwx302), @3(vwx400, vwx401, vwx402), app(ty_[], bae), eh, gd) → new_lt3(vwx300, vwx400, bae)
new_ltEs0(Left(vwx300), Left(vwx400), app(app(ty_Either, cd), ce), cc) → new_ltEs0(vwx300, vwx400, cd, ce)
new_primCompAux(vwx300, vwx400, vwx301, vwx401, app(app(ty_@2, beb), bec)) → new_compare3(vwx300, vwx400, beb, bec)
new_ltEs(Just(vwx300), Just(vwx400), app(ty_Maybe, ba)) → new_ltEs(vwx300, vwx400, ba)
new_ltEs1(@3(vwx300, vwx301, vwx302), @3(vwx400, vwx401, vwx402), app(app(ty_Either, hf), hg), eh, gd) → new_lt0(vwx300, vwx400, hf, hg)
new_ltEs1(@3(vwx300, vwx301, vwx302), @3(vwx400, vwx401, vwx402), eg, app(app(ty_@2, hb), hc), gd) → new_lt2(vwx301, vwx401, hb, hc)
new_ltEs2(@2(vwx300, vwx301), @2(vwx400, vwx401), baf, app(ty_[], bbg)) → new_ltEs3(vwx301, vwx401, bbg)
new_lt2(@2(vwx300, vwx301), @2(vwx400, vwx401), bhe, bhf) → new_compare23(@2(vwx300, vwx301), @2(vwx400, vwx401), new_asAs(new_esEs15(vwx300, vwx400, bhe), new_esEs14(vwx301, vwx401, bhf)), bhe, bhf)
new_ltEs(Just(vwx300), Just(vwx400), app(app(ty_@2, bg), bh)) → new_ltEs2(vwx300, vwx400, bg, bh)
new_compare4(:(vwx300, vwx301), :(vwx400, vwx401), bgf) → new_primCompAux(vwx300, vwx400, vwx301, vwx401, bgf)
new_primCompAux0(vwx176, vwx177, EQ, app(ty_[], bfe)) → new_compare4(vwx176, vwx177, bfe)
new_ltEs(Just(vwx300), Just(vwx400), app(ty_[], ca)) → new_ltEs3(vwx300, vwx400, ca)
new_compare1(vwx30, vwx40, bfg, bfh) → new_compare21(vwx30, vwx40, new_esEs5(vwx30, vwx40, bfg, bfh), bfg, bfh)
new_ltEs1(@3(vwx300, vwx301, vwx302), @3(vwx400, vwx401, vwx402), eg, eh, app(app(ty_Either, fb), fc)) → new_ltEs0(vwx302, vwx402, fb, fc)
new_ltEs0(Left(vwx300), Left(vwx400), app(ty_Maybe, cb), cc) → new_ltEs(vwx300, vwx400, cb)
new_lt3(:(vwx300, vwx301), :(vwx400, vwx401), bdc) → new_primCompAux0(vwx301, vwx401, new_compare(vwx300, vwx400, bdc), app(ty_[], bdc))
new_compare22(vwx30, vwx40, False, bga, bgb, bgc) → new_ltEs1(vwx30, vwx40, bga, bgb, bgc)
new_lt3(:(vwx300, vwx301), :(vwx400, vwx401), app(ty_Maybe, bdd)) → new_compare0(vwx300, vwx400, bdd)
new_compare2(vwx30, vwx40, bga, bgb, bgc) → new_compare22(vwx30, vwx40, new_esEs6(vwx30, vwx40, bga, bgb, bgc), bga, bgb, bgc)
new_ltEs0(Right(vwx300), Right(vwx400), de, app(app(ty_Either, dg), dh)) → new_ltEs0(vwx300, vwx400, dg, dh)
new_ltEs0(Right(vwx300), Right(vwx400), de, app(ty_[], ef)) → new_ltEs3(vwx300, vwx400, ef)
new_lt3(:(vwx300, vwx301), :(vwx400, vwx401), app(app(app(ty_@3, bdg), bdh), bea)) → new_compare2(vwx300, vwx400, bdg, bdh, bea)
new_ltEs1(@3(vwx300, vwx301, vwx302), @3(vwx400, vwx401, vwx402), eg, app(ty_Maybe, gc), gd) → new_lt(vwx301, vwx401, gc)
new_ltEs2(@2(vwx300, vwx301), @2(vwx400, vwx401), baf, app(app(app(ty_@3, bbb), bbc), bbd)) → new_ltEs1(vwx301, vwx401, bbb, bbc, bbd)
new_ltEs2(@2(vwx300, vwx301), @2(vwx400, vwx401), baf, app(app(ty_@2, bbe), bbf)) → new_ltEs2(vwx301, vwx401, bbe, bbf)
new_ltEs0(Left(vwx300), Left(vwx400), app(app(ty_@2, db), dc), cc) → new_ltEs2(vwx300, vwx400, db, dc)
new_compare0(vwx30, vwx40, bff) → new_compare20(vwx30, vwx40, new_esEs4(vwx30, vwx40, bff), bff)
new_ltEs1(@3(vwx300, vwx301, vwx302), @3(vwx400, vwx401, vwx402), eg, app(ty_[], hd), gd) → new_lt3(vwx301, vwx401, hd)
new_ltEs0(Right(vwx300), Right(vwx400), de, app(ty_Maybe, df)) → new_ltEs(vwx300, vwx400, df)
new_compare23(vwx30, vwx40, False, bgd, bge) → new_ltEs2(vwx30, vwx40, bgd, bge)
new_primCompAux(vwx300, vwx400, vwx301, vwx401, app(ty_[], bed)) → new_compare4(vwx300, vwx400, bed)
new_ltEs1(@3(vwx300, vwx301, vwx302), @3(vwx400, vwx401, vwx402), eg, eh, app(ty_Maybe, fa)) → new_ltEs(vwx302, vwx402, fa)
new_ltEs1(@3(vwx300, vwx301, vwx302), @3(vwx400, vwx401, vwx402), eg, eh, app(app(app(ty_@3, fd), ff), fg)) → new_ltEs1(vwx302, vwx402, fd, ff, fg)
new_ltEs0(Right(vwx300), Right(vwx400), de, app(app(ty_@2, ed), ee)) → new_ltEs2(vwx300, vwx400, ed, ee)
new_ltEs2(@2(vwx300, vwx301), @2(vwx400, vwx401), app(app(app(ty_@3, bcd), bce), bcf), bca) → new_lt1(vwx300, vwx400, bcd, bce, bcf)
new_ltEs2(@2(vwx300, vwx301), @2(vwx400, vwx401), baf, app(app(ty_Either, bah), bba)) → new_ltEs0(vwx301, vwx401, bah, bba)
new_lt0(Right(vwx300), Left(vwx400), bgh, bha) → new_compare21(Right(vwx300), Left(vwx400), False, bgh, bha)
new_lt0(Left(vwx300), Right(vwx400), bgh, bha) → new_compare21(Left(vwx300), Right(vwx400), False, bgh, bha)
new_lt1(@3(vwx300, vwx301, vwx302), @3(vwx400, vwx401, vwx402), bhb, bhc, bhd) → new_compare22(@3(vwx300, vwx301, vwx302), @3(vwx400, vwx401, vwx402), new_asAs(new_esEs13(vwx300, vwx400, bhb), new_asAs(new_esEs12(vwx301, vwx401, bhc), new_esEs11(vwx302, vwx402, bhd))), bhb, bhc, bhd)
new_ltEs0(Left(vwx300), Left(vwx400), app(app(app(ty_@3, cf), cg), da), cc) → new_ltEs1(vwx300, vwx400, cf, cg, da)
new_ltEs1(@3(vwx300, vwx301, vwx302), @3(vwx400, vwx401, vwx402), app(app(ty_@2, bac), bad), eh, gd) → new_lt2(vwx300, vwx400, bac, bad)
new_primCompAux(vwx300, vwx400, vwx301, vwx401, bdc) → new_primCompAux0(vwx301, vwx401, new_compare(vwx300, vwx400, bdc), app(ty_[], bdc))
new_primCompAux(vwx300, vwx400, vwx301, vwx401, app(app(ty_Either, bde), bdf)) → new_compare1(vwx300, vwx400, bde, bdf)
new_compare3(vwx30, vwx40, bgd, bge) → new_compare23(vwx30, vwx40, new_esEs7(vwx30, vwx40, bgd, bge), bgd, bge)
new_lt0(Right(vwx300), Right(vwx400), bgh, bha) → new_compare21(Right(vwx300), Right(vwx400), new_esEs10(vwx300, vwx400, bha), bgh, bha)
new_lt3(:(vwx300, vwx301), :(vwx400, vwx401), app(ty_[], bed)) → new_compare4(vwx300, vwx400, bed)
new_ltEs1(@3(vwx300, vwx301, vwx302), @3(vwx400, vwx401, vwx402), app(app(app(ty_@3, hh), baa), bab), eh, gd) → new_lt1(vwx300, vwx400, hh, baa, bab)
new_lt0(Left(vwx300), Left(vwx400), bgh, bha) → new_compare21(Left(vwx300), Left(vwx400), new_esEs9(vwx300, vwx400, bgh), bgh, bha)
new_compare20(vwx30, vwx40, False, bff) → new_ltEs(vwx30, vwx40, bff)
new_primCompAux(vwx300, vwx400, vwx301, vwx401, app(ty_Maybe, bdd)) → new_compare0(vwx300, vwx400, bdd)
new_ltEs0(Right(vwx300), Right(vwx400), de, app(app(app(ty_@3, ea), eb), ec)) → new_ltEs1(vwx300, vwx400, ea, eb, ec)

The TRS R consists of the following rules:

new_esEs6(@3(vwx1090, vwx1091, vwx1092), @3(vwx1100, vwx1101, vwx1102), cdb, cdc, cdd) → new_asAs(new_esEs35(vwx1090, vwx1100, cdb), new_asAs(new_esEs34(vwx1091, vwx1101, cdc), new_esEs33(vwx1092, vwx1102, cdd)))
new_esEs35(vwx1090, vwx1100, ty_@0) → new_esEs19(vwx1090, vwx1100)
new_esEs35(vwx1090, vwx1100, app(app(ty_@2, edd), ede)) → new_esEs7(vwx1090, vwx1100, edd, ede)
new_esEs35(vwx1090, vwx1100, ty_Float) → new_esEs23(vwx1090, vwx1100)
new_esEs35(vwx1090, vwx1100, app(ty_Maybe, ecd)) → new_esEs4(vwx1090, vwx1100, ecd)
new_esEs35(vwx1090, vwx1100, ty_Ordering) → new_esEs16(vwx1090, vwx1100)
new_esEs35(vwx1090, vwx1100, app(app(app(ty_@3, ech), eda), edb)) → new_esEs6(vwx1090, vwx1100, ech, eda, edb)
new_esEs35(vwx1090, vwx1100, ty_Bool) → new_esEs18(vwx1090, vwx1100)
new_esEs35(vwx1090, vwx1100, ty_Integer) → new_esEs20(vwx1090, vwx1100)
new_esEs35(vwx1090, vwx1100, ty_Char) → new_esEs17(vwx1090, vwx1100)
new_esEs35(vwx1090, vwx1100, app(ty_Ratio, edc)) → new_esEs24(vwx1090, vwx1100, edc)
new_esEs35(vwx1090, vwx1100, ty_Double) → new_esEs21(vwx1090, vwx1100)
new_esEs35(vwx1090, vwx1100, app(ty_[], ecg)) → new_esEs22(vwx1090, vwx1100, ecg)
new_esEs35(vwx1090, vwx1100, ty_Int) → new_esEs25(vwx1090, vwx1100)
new_esEs35(vwx1090, vwx1100, app(app(ty_Either, ece), ecf)) → new_esEs5(vwx1090, vwx1100, ece, ecf)
new_esEs34(vwx1091, vwx1101, ty_Bool) → new_esEs18(vwx1091, vwx1101)
new_esEs34(vwx1091, vwx1101, ty_@0) → new_esEs19(vwx1091, vwx1101)
new_esEs34(vwx1091, vwx1101, app(app(ty_Either, ebc), ebd)) → new_esEs5(vwx1091, vwx1101, ebc, ebd)
new_esEs34(vwx1091, vwx1101, app(app(app(ty_@3, ebf), ebg), ebh)) → new_esEs6(vwx1091, vwx1101, ebf, ebg, ebh)
new_esEs34(vwx1091, vwx1101, app(app(ty_@2, ecb), ecc)) → new_esEs7(vwx1091, vwx1101, ecb, ecc)
new_esEs34(vwx1091, vwx1101, ty_Integer) → new_esEs20(vwx1091, vwx1101)
new_esEs34(vwx1091, vwx1101, ty_Ordering) → new_esEs16(vwx1091, vwx1101)
new_esEs34(vwx1091, vwx1101, ty_Int) → new_esEs25(vwx1091, vwx1101)
new_esEs34(vwx1091, vwx1101, ty_Double) → new_esEs21(vwx1091, vwx1101)
new_esEs34(vwx1091, vwx1101, app(ty_Maybe, ebb)) → new_esEs4(vwx1091, vwx1101, ebb)
new_esEs34(vwx1091, vwx1101, ty_Float) → new_esEs23(vwx1091, vwx1101)
new_esEs34(vwx1091, vwx1101, app(ty_[], ebe)) → new_esEs22(vwx1091, vwx1101, ebe)
new_esEs34(vwx1091, vwx1101, app(ty_Ratio, eca)) → new_esEs24(vwx1091, vwx1101, eca)
new_esEs34(vwx1091, vwx1101, ty_Char) → new_esEs17(vwx1091, vwx1101)
new_esEs33(vwx1092, vwx1102, app(app(app(ty_@3, ead), eae), eaf)) → new_esEs6(vwx1092, vwx1102, ead, eae, eaf)
new_esEs33(vwx1092, vwx1102, ty_Double) → new_esEs21(vwx1092, vwx1102)
new_esEs33(vwx1092, vwx1102, ty_Bool) → new_esEs18(vwx1092, vwx1102)
new_esEs33(vwx1092, vwx1102, ty_Ordering) → new_esEs16(vwx1092, vwx1102)
new_esEs33(vwx1092, vwx1102, app(app(ty_@2, eah), eba)) → new_esEs7(vwx1092, vwx1102, eah, eba)
new_esEs33(vwx1092, vwx1102, ty_Integer) → new_esEs20(vwx1092, vwx1102)
new_esEs33(vwx1092, vwx1102, ty_Char) → new_esEs17(vwx1092, vwx1102)
new_esEs33(vwx1092, vwx1102, app(ty_[], eac)) → new_esEs22(vwx1092, vwx1102, eac)
new_esEs33(vwx1092, vwx1102, ty_Float) → new_esEs23(vwx1092, vwx1102)
new_esEs33(vwx1092, vwx1102, app(ty_Ratio, eag)) → new_esEs24(vwx1092, vwx1102, eag)
new_esEs33(vwx1092, vwx1102, ty_Int) → new_esEs25(vwx1092, vwx1102)
new_esEs33(vwx1092, vwx1102, app(app(ty_Either, eaa), eab)) → new_esEs5(vwx1092, vwx1102, eaa, eab)
new_esEs33(vwx1092, vwx1102, app(ty_Maybe, dhh)) → new_esEs4(vwx1092, vwx1102, dhh)
new_esEs33(vwx1092, vwx1102, ty_@0) → new_esEs19(vwx1092, vwx1102)
new_asAs(False, vwx160) → False
new_asAs(True, vwx160) → vwx160
new_esEs19(@0, @0) → True
new_esEs4(Nothing, Just(vwx1100), ccf) → False
new_esEs4(Just(vwx1090), Nothing, ccf) → False
new_esEs4(Just(vwx1090), Just(vwx1100), ty_Char) → new_esEs17(vwx1090, vwx1100)
new_esEs4(Just(vwx1090), Just(vwx1100), app(app(app(ty_@3, eee), eef), eeg)) → new_esEs6(vwx1090, vwx1100, eee, eef, eeg)
new_esEs4(Just(vwx1090), Just(vwx1100), ty_Int) → new_esEs25(vwx1090, vwx1100)
new_esEs4(Just(vwx1090), Just(vwx1100), ty_Ordering) → new_esEs16(vwx1090, vwx1100)
new_esEs5(Right(vwx1090), Right(vwx1100), ccg, app(ty_Maybe, cfb)) → new_esEs4(vwx1090, vwx1100, cfb)
new_esEs5(Left(vwx1090), Left(vwx1100), app(ty_Maybe, cdh), cch) → new_esEs4(vwx1090, vwx1100, cdh)
new_esEs4(Just(vwx1090), Just(vwx1100), app(ty_Maybe, eea)) → new_esEs4(vwx1090, vwx1100, eea)
new_esEs5(Right(vwx1090), Right(vwx1100), ccg, app(app(ty_Either, cfc), cfd)) → new_esEs5(vwx1090, vwx1100, cfc, cfd)
new_esEs5(Left(vwx1090), Left(vwx1100), app(app(ty_Either, cea), ceb), cch) → new_esEs5(vwx1090, vwx1100, cea, ceb)
new_esEs4(Just(vwx1090), Just(vwx1100), app(app(ty_Either, eeb), eec)) → new_esEs5(vwx1090, vwx1100, eeb, eec)
new_esEs4(Just(vwx1090), Just(vwx1100), ty_Float) → new_esEs23(vwx1090, vwx1100)
new_esEs4(Just(vwx1090), Just(vwx1100), app(ty_[], eed)) → new_esEs22(vwx1090, vwx1100, eed)
new_esEs4(Nothing, Nothing, ccf) → True
new_esEs4(Just(vwx1090), Just(vwx1100), ty_Double) → new_esEs21(vwx1090, vwx1100)
new_esEs4(Just(vwx1090), Just(vwx1100), ty_Bool) → new_esEs18(vwx1090, vwx1100)
new_esEs4(Just(vwx1090), Just(vwx1100), app(ty_Ratio, eeh)) → new_esEs24(vwx1090, vwx1100, eeh)
new_esEs4(Just(vwx1090), Just(vwx1100), app(app(ty_@2, efa), efb)) → new_esEs7(vwx1090, vwx1100, efa, efb)
new_esEs4(Just(vwx1090), Just(vwx1100), ty_@0) → new_esEs19(vwx1090, vwx1100)
new_esEs4(Just(vwx1090), Just(vwx1100), ty_Integer) → new_esEs20(vwx1090, vwx1100)
new_esEs20(Integer(vwx1090), Integer(vwx1100)) → new_primEqInt(vwx1090, vwx1100)
new_primEqInt(Neg(Succ(vwx10900)), Neg(Succ(vwx11000))) → new_primEqNat0(vwx10900, vwx11000)
new_primEqInt(Neg(Zero), Neg(Zero)) → True
new_primEqInt(Neg(Zero), Neg(Succ(vwx11000))) → False
new_primEqInt(Neg(Succ(vwx10900)), Neg(Zero)) → False
new_primEqInt(Pos(Succ(vwx10900)), Pos(Succ(vwx11000))) → new_primEqNat0(vwx10900, vwx11000)
new_primEqInt(Pos(Zero), Pos(Succ(vwx11000))) → False
new_primEqInt(Pos(Succ(vwx10900)), Pos(Zero)) → False
new_primEqInt(Neg(Succ(vwx10900)), Pos(vwx1100)) → False
new_primEqInt(Pos(Succ(vwx10900)), Neg(vwx1100)) → False
new_primEqInt(Neg(Zero), Pos(Succ(vwx11000))) → False
new_primEqInt(Pos(Zero), Neg(Succ(vwx11000))) → False
new_primEqInt(Pos(Zero), Pos(Zero)) → True
new_primEqInt(Neg(Zero), Pos(Zero)) → True
new_primEqInt(Pos(Zero), Neg(Zero)) → True
new_primEqNat0(Zero, Zero) → True
new_primEqNat0(Succ(vwx10900), Succ(vwx11000)) → new_primEqNat0(vwx10900, vwx11000)
new_primEqNat0(Zero, Succ(vwx11000)) → False
new_primEqNat0(Succ(vwx10900), Zero) → False
new_esEs7(@2(vwx1090, vwx1091), @2(vwx1100, vwx1101), cdf, cdg) → new_asAs(new_esEs32(vwx1090, vwx1100, cdf), new_esEs31(vwx1091, vwx1101, cdg))
new_esEs32(vwx1090, vwx1100, app(ty_Ratio, ddd)) → new_esEs24(vwx1090, vwx1100, ddd)
new_esEs32(vwx1090, vwx1100, ty_Ordering) → new_esEs16(vwx1090, vwx1100)
new_esEs32(vwx1090, vwx1100, ty_Float) → new_esEs23(vwx1090, vwx1100)
new_esEs32(vwx1090, vwx1100, app(ty_Maybe, dce)) → new_esEs4(vwx1090, vwx1100, dce)
new_esEs32(vwx1090, vwx1100, app(ty_[], dch)) → new_esEs22(vwx1090, vwx1100, dch)
new_esEs32(vwx1090, vwx1100, app(app(ty_@2, dde), ddf)) → new_esEs7(vwx1090, vwx1100, dde, ddf)
new_esEs32(vwx1090, vwx1100, ty_Char) → new_esEs17(vwx1090, vwx1100)
new_esEs32(vwx1090, vwx1100, ty_@0) → new_esEs19(vwx1090, vwx1100)
new_esEs32(vwx1090, vwx1100, app(app(ty_Either, dcf), dcg)) → new_esEs5(vwx1090, vwx1100, dcf, dcg)
new_esEs32(vwx1090, vwx1100, ty_Int) → new_esEs25(vwx1090, vwx1100)
new_esEs32(vwx1090, vwx1100, ty_Bool) → new_esEs18(vwx1090, vwx1100)
new_esEs32(vwx1090, vwx1100, app(app(app(ty_@3, dda), ddb), ddc)) → new_esEs6(vwx1090, vwx1100, dda, ddb, ddc)
new_esEs32(vwx1090, vwx1100, ty_Double) → new_esEs21(vwx1090, vwx1100)
new_esEs32(vwx1090, vwx1100, ty_Integer) → new_esEs20(vwx1090, vwx1100)
new_esEs31(vwx1091, vwx1101, app(ty_Ratio, dcb)) → new_esEs24(vwx1091, vwx1101, dcb)
new_esEs31(vwx1091, vwx1101, ty_Char) → new_esEs17(vwx1091, vwx1101)
new_esEs31(vwx1091, vwx1101, ty_Double) → new_esEs21(vwx1091, vwx1101)
new_esEs31(vwx1091, vwx1101, app(app(app(ty_@3, dbg), dbh), dca)) → new_esEs6(vwx1091, vwx1101, dbg, dbh, dca)
new_esEs31(vwx1091, vwx1101, app(app(ty_Either, dbd), dbe)) → new_esEs5(vwx1091, vwx1101, dbd, dbe)
new_esEs31(vwx1091, vwx1101, ty_Bool) → new_esEs18(vwx1091, vwx1101)
new_esEs31(vwx1091, vwx1101, app(ty_[], dbf)) → new_esEs22(vwx1091, vwx1101, dbf)
new_esEs31(vwx1091, vwx1101, ty_Int) → new_esEs25(vwx1091, vwx1101)
new_esEs31(vwx1091, vwx1101, ty_@0) → new_esEs19(vwx1091, vwx1101)
new_esEs31(vwx1091, vwx1101, app(ty_Maybe, dbc)) → new_esEs4(vwx1091, vwx1101, dbc)
new_esEs31(vwx1091, vwx1101, ty_Integer) → new_esEs20(vwx1091, vwx1101)
new_esEs31(vwx1091, vwx1101, ty_Ordering) → new_esEs16(vwx1091, vwx1101)
new_esEs31(vwx1091, vwx1101, ty_Float) → new_esEs23(vwx1091, vwx1101)
new_esEs31(vwx1091, vwx1101, app(app(ty_@2, dcc), dcd)) → new_esEs7(vwx1091, vwx1101, dcc, dcd)
new_esEs23(Float(vwx1090, vwx1091), Float(vwx1100, vwx1101)) → new_esEs25(new_sr(vwx1090, vwx1100), new_sr(vwx1091, vwx1101))
new_sr(vwx40, vwx31) → new_primMulInt(vwx40, vwx31)
new_esEs25(vwx109, vwx110) → new_primEqInt(vwx109, vwx110)
new_primMulInt(Pos(vwx400), Pos(vwx310)) → Pos(new_primMulNat0(vwx400, vwx310))
new_primMulInt(Neg(vwx400), Neg(vwx310)) → Pos(new_primMulNat0(vwx400, vwx310))
new_primMulInt(Neg(vwx400), Pos(vwx310)) → Neg(new_primMulNat0(vwx400, vwx310))
new_primMulInt(Pos(vwx400), Neg(vwx310)) → Neg(new_primMulNat0(vwx400, vwx310))
new_primMulNat0(Zero, Zero) → Zero
new_primMulNat0(Succ(vwx4000), Zero) → Zero
new_primMulNat0(Zero, Succ(vwx3100)) → Zero
new_primMulNat0(Succ(vwx4000), Succ(vwx3100)) → new_primPlusNat0(new_primMulNat0(vwx4000, Succ(vwx3100)), vwx3100)
new_primPlusNat0(Succ(vwx2740), vwx3100) → Succ(Succ(new_primPlusNat1(vwx2740, vwx3100)))
new_primPlusNat0(Zero, vwx3100) → Succ(vwx3100)
new_primPlusNat1(Succ(vwx27400), Zero) → Succ(vwx27400)
new_primPlusNat1(Zero, Succ(vwx31000)) → Succ(vwx31000)
new_primPlusNat1(Succ(vwx27400), Succ(vwx31000)) → Succ(Succ(new_primPlusNat1(vwx27400, vwx31000)))
new_primPlusNat1(Zero, Zero) → Zero
new_esEs16(EQ, GT) → False
new_esEs16(GT, EQ) → False
new_esEs16(LT, GT) → False
new_esEs16(GT, LT) → False
new_esEs16(LT, EQ) → False
new_esEs16(EQ, LT) → False
new_esEs16(EQ, EQ) → True
new_esEs16(LT, LT) → True
new_esEs16(GT, GT) → True
new_esEs22([], [], cda) → True
new_esEs22(:(vwx1090, vwx1091), :(vwx1100, vwx1101), cda) → new_asAs(new_esEs38(vwx1090, vwx1100, cda), new_esEs22(vwx1091, vwx1101, cda))
new_esEs22(:(vwx1090, vwx1091), [], cda) → False
new_esEs22([], :(vwx1100, vwx1101), cda) → False
new_esEs38(vwx1090, vwx1100, ty_@0) → new_esEs19(vwx1090, vwx1100)
new_esEs38(vwx1090, vwx1100, app(ty_[], efg)) → new_esEs22(vwx1090, vwx1100, efg)
new_esEs38(vwx1090, vwx1100, app(app(ty_@2, egd), ege)) → new_esEs7(vwx1090, vwx1100, egd, ege)
new_esEs38(vwx1090, vwx1100, ty_Char) → new_esEs17(vwx1090, vwx1100)
new_esEs38(vwx1090, vwx1100, ty_Bool) → new_esEs18(vwx1090, vwx1100)
new_esEs38(vwx1090, vwx1100, app(app(app(ty_@3, efh), ega), egb)) → new_esEs6(vwx1090, vwx1100, efh, ega, egb)
new_esEs38(vwx1090, vwx1100, ty_Double) → new_esEs21(vwx1090, vwx1100)
new_esEs38(vwx1090, vwx1100, app(app(ty_Either, efe), eff)) → new_esEs5(vwx1090, vwx1100, efe, eff)
new_esEs38(vwx1090, vwx1100, ty_Ordering) → new_esEs16(vwx1090, vwx1100)
new_esEs38(vwx1090, vwx1100, ty_Int) → new_esEs25(vwx1090, vwx1100)
new_esEs38(vwx1090, vwx1100, app(ty_Maybe, efd)) → new_esEs4(vwx1090, vwx1100, efd)
new_esEs38(vwx1090, vwx1100, app(ty_Ratio, egc)) → new_esEs24(vwx1090, vwx1100, egc)
new_esEs38(vwx1090, vwx1100, ty_Float) → new_esEs23(vwx1090, vwx1100)
new_esEs38(vwx1090, vwx1100, ty_Integer) → new_esEs20(vwx1090, vwx1100)
new_esEs24(:%(vwx1090, vwx1091), :%(vwx1100, vwx1101), cde) → new_asAs(new_esEs30(vwx1090, vwx1100, cde), new_esEs29(vwx1091, vwx1101, cde))
new_esEs30(vwx1090, vwx1100, ty_Integer) → new_esEs20(vwx1090, vwx1100)
new_esEs30(vwx1090, vwx1100, ty_Int) → new_esEs25(vwx1090, vwx1100)
new_esEs29(vwx1091, vwx1101, ty_Int) → new_esEs25(vwx1091, vwx1101)
new_esEs29(vwx1091, vwx1101, ty_Integer) → new_esEs20(vwx1091, vwx1101)
new_esEs5(Left(vwx1090), Left(vwx1100), ty_Double, cch) → new_esEs21(vwx1090, vwx1100)
new_esEs5(Left(vwx1090), Left(vwx1100), ty_@0, cch) → new_esEs19(vwx1090, vwx1100)
new_esEs5(Right(vwx1090), Right(vwx1100), ccg, app(app(app(ty_@3, cff), cfg), cfh)) → new_esEs6(vwx1090, vwx1100, cff, cfg, cfh)
new_esEs5(Right(vwx1090), Right(vwx1100), ccg, ty_Char) → new_esEs17(vwx1090, vwx1100)
new_esEs5(Left(vwx1090), Left(vwx1100), app(ty_Ratio, ceg), cch) → new_esEs24(vwx1090, vwx1100, ceg)
new_esEs5(Left(vwx1090), Left(vwx1100), ty_Float, cch) → new_esEs23(vwx1090, vwx1100)
new_esEs5(Left(vwx1090), Left(vwx1100), ty_Bool, cch) → new_esEs18(vwx1090, vwx1100)
new_esEs5(Left(vwx1090), Left(vwx1100), ty_Int, cch) → new_esEs25(vwx1090, vwx1100)
new_esEs5(Right(vwx1090), Right(vwx1100), ccg, ty_@0) → new_esEs19(vwx1090, vwx1100)
new_esEs5(Left(vwx1090), Left(vwx1100), ty_Integer, cch) → new_esEs20(vwx1090, vwx1100)
new_esEs5(Right(vwx1090), Right(vwx1100), ccg, app(ty_[], cfe)) → new_esEs22(vwx1090, vwx1100, cfe)
new_esEs5(Right(vwx1090), Right(vwx1100), ccg, ty_Double) → new_esEs21(vwx1090, vwx1100)
new_esEs5(Right(vwx1090), Right(vwx1100), ccg, ty_Float) → new_esEs23(vwx1090, vwx1100)
new_esEs5(Right(vwx1090), Left(vwx1100), ccg, cch) → False
new_esEs5(Left(vwx1090), Right(vwx1100), ccg, cch) → False
new_esEs5(Left(vwx1090), Left(vwx1100), ty_Ordering, cch) → new_esEs16(vwx1090, vwx1100)
new_esEs5(Right(vwx1090), Right(vwx1100), ccg, app(ty_Ratio, cga)) → new_esEs24(vwx1090, vwx1100, cga)
new_esEs5(Left(vwx1090), Left(vwx1100), app(app(ty_@2, ceh), cfa), cch) → new_esEs7(vwx1090, vwx1100, ceh, cfa)
new_esEs5(Left(vwx1090), Left(vwx1100), app(app(app(ty_@3, ced), cee), cef), cch) → new_esEs6(vwx1090, vwx1100, ced, cee, cef)
new_esEs5(Right(vwx1090), Right(vwx1100), ccg, ty_Int) → new_esEs25(vwx1090, vwx1100)
new_esEs5(Right(vwx1090), Right(vwx1100), ccg, ty_Bool) → new_esEs18(vwx1090, vwx1100)
new_esEs5(Right(vwx1090), Right(vwx1100), ccg, app(app(ty_@2, cgb), cgc)) → new_esEs7(vwx1090, vwx1100, cgb, cgc)
new_esEs5(Right(vwx1090), Right(vwx1100), ccg, ty_Ordering) → new_esEs16(vwx1090, vwx1100)
new_esEs5(Left(vwx1090), Left(vwx1100), app(ty_[], cec), cch) → new_esEs22(vwx1090, vwx1100, cec)
new_esEs5(Right(vwx1090), Right(vwx1100), ccg, ty_Integer) → new_esEs20(vwx1090, vwx1100)
new_esEs5(Left(vwx1090), Left(vwx1100), ty_Char, cch) → new_esEs17(vwx1090, vwx1100)
new_esEs17(Char(vwx1090), Char(vwx1100)) → new_primEqNat0(vwx1090, vwx1100)
new_esEs18(True, True) → True
new_esEs18(False, True) → False
new_esEs18(True, False) → False
new_esEs18(False, False) → True
new_esEs21(Double(vwx1090, vwx1091), Double(vwx1100, vwx1101)) → new_esEs25(new_sr(vwx1090, vwx1100), new_sr(vwx1091, vwx1101))
new_esEs13(vwx300, vwx400, ty_Double) → new_esEs21(vwx300, vwx400)
new_esEs13(vwx300, vwx400, ty_Integer) → new_esEs20(vwx300, vwx400)
new_esEs13(vwx300, vwx400, app(ty_Ratio, dhe)) → new_esEs24(vwx300, vwx400, dhe)
new_esEs13(vwx300, vwx400, ty_Char) → new_esEs17(vwx300, vwx400)
new_esEs13(vwx300, vwx400, ty_Float) → new_esEs23(vwx300, vwx400)
new_esEs13(vwx300, vwx400, app(ty_Maybe, dgf)) → new_esEs4(vwx300, vwx400, dgf)
new_esEs13(vwx300, vwx400, ty_Bool) → new_esEs18(vwx300, vwx400)
new_esEs13(vwx300, vwx400, app(ty_[], dha)) → new_esEs22(vwx300, vwx400, dha)
new_esEs13(vwx300, vwx400, app(app(app(ty_@3, dhb), dhc), dhd)) → new_esEs6(vwx300, vwx400, dhb, dhc, dhd)
new_esEs13(vwx300, vwx400, ty_Ordering) → new_esEs16(vwx300, vwx400)
new_esEs13(vwx300, vwx400, app(app(ty_Either, dgg), dgh)) → new_esEs5(vwx300, vwx400, dgg, dgh)
new_esEs13(vwx300, vwx400, ty_@0) → new_esEs19(vwx300, vwx400)
new_esEs13(vwx300, vwx400, app(app(ty_@2, dhf), dhg)) → new_esEs7(vwx300, vwx400, dhf, dhg)
new_esEs13(vwx300, vwx400, ty_Int) → new_esEs25(vwx300, vwx400)
new_esEs12(vwx301, vwx401, app(ty_Ratio, dgc)) → new_esEs24(vwx301, vwx401, dgc)
new_esEs12(vwx301, vwx401, ty_Char) → new_esEs17(vwx301, vwx401)
new_esEs12(vwx301, vwx401, app(app(ty_@2, dgd), dge)) → new_esEs7(vwx301, vwx401, dgd, dge)
new_esEs12(vwx301, vwx401, ty_Int) → new_esEs25(vwx301, vwx401)
new_esEs12(vwx301, vwx401, ty_Float) → new_esEs23(vwx301, vwx401)
new_esEs12(vwx301, vwx401, ty_Integer) → new_esEs20(vwx301, vwx401)
new_esEs12(vwx301, vwx401, app(app(ty_Either, dfe), dff)) → new_esEs5(vwx301, vwx401, dfe, dff)
new_esEs12(vwx301, vwx401, ty_@0) → new_esEs19(vwx301, vwx401)
new_esEs12(vwx301, vwx401, app(ty_[], dfg)) → new_esEs22(vwx301, vwx401, dfg)
new_esEs12(vwx301, vwx401, app(ty_Maybe, dfd)) → new_esEs4(vwx301, vwx401, dfd)
new_esEs12(vwx301, vwx401, ty_Bool) → new_esEs18(vwx301, vwx401)
new_esEs12(vwx301, vwx401, ty_Double) → new_esEs21(vwx301, vwx401)
new_esEs12(vwx301, vwx401, app(app(app(ty_@3, dfh), dga), dgb)) → new_esEs6(vwx301, vwx401, dfh, dga, dgb)
new_esEs12(vwx301, vwx401, ty_Ordering) → new_esEs16(vwx301, vwx401)
new_esEs11(vwx302, vwx402, app(app(ty_@2, dfb), dfc)) → new_esEs7(vwx302, vwx402, dfb, dfc)
new_esEs11(vwx302, vwx402, app(ty_Ratio, dfa)) → new_esEs24(vwx302, vwx402, dfa)
new_esEs11(vwx302, vwx402, ty_Bool) → new_esEs18(vwx302, vwx402)
new_esEs11(vwx302, vwx402, app(app(app(ty_@3, def), deg), deh)) → new_esEs6(vwx302, vwx402, def, deg, deh)
new_esEs11(vwx302, vwx402, ty_Float) → new_esEs23(vwx302, vwx402)
new_esEs11(vwx302, vwx402, ty_Double) → new_esEs21(vwx302, vwx402)
new_esEs11(vwx302, vwx402, app(ty_Maybe, deb)) → new_esEs4(vwx302, vwx402, deb)
new_esEs11(vwx302, vwx402, ty_@0) → new_esEs19(vwx302, vwx402)
new_esEs11(vwx302, vwx402, ty_Integer) → new_esEs20(vwx302, vwx402)
new_esEs11(vwx302, vwx402, ty_Ordering) → new_esEs16(vwx302, vwx402)
new_esEs11(vwx302, vwx402, ty_Int) → new_esEs25(vwx302, vwx402)
new_esEs11(vwx302, vwx402, app(app(ty_Either, dec), ded)) → new_esEs5(vwx302, vwx402, dec, ded)
new_esEs11(vwx302, vwx402, ty_Char) → new_esEs17(vwx302, vwx402)
new_esEs11(vwx302, vwx402, app(ty_[], dee)) → new_esEs22(vwx302, vwx402, dee)
new_esEs10(vwx300, vwx400, ty_Integer) → new_esEs20(vwx300, vwx400)
new_esEs10(vwx300, vwx400, ty_@0) → new_esEs19(vwx300, vwx400)
new_esEs10(vwx300, vwx400, ty_Float) → new_esEs23(vwx300, vwx400)
new_esEs10(vwx300, vwx400, ty_Int) → new_esEs25(vwx300, vwx400)
new_esEs10(vwx300, vwx400, ty_Char) → new_esEs17(vwx300, vwx400)
new_esEs10(vwx300, vwx400, app(app(ty_@2, ccc), ccd)) → new_esEs7(vwx300, vwx400, ccc, ccd)
new_esEs10(vwx300, vwx400, app(ty_Ratio, ccb)) → new_esEs24(vwx300, vwx400, ccb)
new_esEs10(vwx300, vwx400, app(ty_[], cbf)) → new_esEs22(vwx300, vwx400, cbf)
new_esEs10(vwx300, vwx400, app(app(ty_Either, cbd), cbe)) → new_esEs5(vwx300, vwx400, cbd, cbe)
new_esEs10(vwx300, vwx400, app(app(app(ty_@3, cbg), cbh), cca)) → new_esEs6(vwx300, vwx400, cbg, cbh, cca)
new_esEs10(vwx300, vwx400, ty_Ordering) → new_esEs16(vwx300, vwx400)
new_esEs10(vwx300, vwx400, ty_Bool) → new_esEs18(vwx300, vwx400)
new_esEs10(vwx300, vwx400, ty_Double) → new_esEs21(vwx300, vwx400)
new_esEs10(vwx300, vwx400, app(ty_Maybe, cbc)) → new_esEs4(vwx300, vwx400, cbc)
new_compare(vwx300, vwx400, ty_Char) → new_compare9(vwx300, vwx400)
new_compare(vwx300, vwx400, ty_Bool) → new_compare29(vwx300, vwx400)
new_compare(vwx300, vwx400, app(app(ty_Either, bde), bdf)) → new_compare16(vwx300, vwx400, bde, bdf)
new_compare(vwx300, vwx400, ty_Float) → new_compare31(vwx300, vwx400)
new_compare(vwx300, vwx400, ty_Integer) → new_compare19(vwx300, vwx400)
new_compare(vwx300, vwx400, app(ty_Maybe, bdd)) → new_compare14(vwx300, vwx400, bdd)
new_compare(vwx300, vwx400, app(ty_[], bed)) → new_compare30(vwx300, vwx400, bed)
new_compare(vwx300, vwx400, app(ty_Ratio, dah)) → new_compare15(vwx300, vwx400, dah)
new_compare(vwx300, vwx400, app(app(app(ty_@3, bdg), bdh), bea)) → new_compare17(vwx300, vwx400, bdg, bdh, bea)
new_compare(vwx300, vwx400, ty_Ordering) → new_compare7(vwx300, vwx400)
new_compare(vwx300, vwx400, app(app(ty_@2, beb), bec)) → new_compare18(vwx300, vwx400, beb, bec)
new_compare(vwx300, vwx400, ty_Double) → new_compare6(vwx300, vwx400)
new_compare(vwx300, vwx400, ty_Int) → new_compare5(vwx300, vwx400)
new_compare(vwx300, vwx400, ty_@0) → new_compare8(vwx300, vwx400)
new_compare8(@0, @0) → EQ
new_compare5(vwx30, vwx40) → new_primCmpInt(vwx30, vwx40)
new_primCmpInt(Pos(Zero), Neg(Zero)) → EQ
new_primCmpInt(Neg(Zero), Pos(Zero)) → EQ
new_primCmpInt(Neg(Succ(vwx3000)), Neg(vwx400)) → new_primCmpNat0(vwx400, Succ(vwx3000))
new_primCmpInt(Neg(Zero), Pos(Succ(vwx4000))) → LT
new_primCmpInt(Pos(Zero), Pos(Succ(vwx4000))) → new_primCmpNat0(Zero, Succ(vwx4000))
new_primCmpInt(Pos(Succ(vwx3000)), Pos(vwx400)) → new_primCmpNat0(Succ(vwx3000), vwx400)
new_primCmpInt(Pos(Succ(vwx3000)), Neg(vwx400)) → GT
new_primCmpInt(Neg(Zero), Neg(Succ(vwx4000))) → new_primCmpNat0(Succ(vwx4000), Zero)
new_primCmpInt(Pos(Zero), Neg(Succ(vwx4000))) → GT
new_primCmpInt(Neg(Zero), Neg(Zero)) → EQ
new_primCmpInt(Pos(Zero), Pos(Zero)) → EQ
new_primCmpInt(Neg(Succ(vwx3000)), Pos(vwx400)) → LT
new_primCmpNat0(Succ(vwx3000), Zero) → GT
new_primCmpNat0(Succ(vwx3000), Succ(vwx4000)) → new_primCmpNat0(vwx3000, vwx4000)
new_primCmpNat0(Zero, Succ(vwx4000)) → LT
new_primCmpNat0(Zero, Zero) → EQ
new_compare6(vwx30, vwx40) → new_primCmpDouble(vwx30, vwx40)
new_primCmpDouble(Double(vwx300, vwx301), Double(vwx400, vwx401)) → new_compare5(new_sr(vwx300, vwx400), new_sr(vwx301, vwx401))
new_compare18(vwx30, vwx40, bgd, bge) → new_compare25(vwx30, vwx40, new_esEs7(vwx30, vwx40, bgd, bge), bgd, bge)
new_compare25(vwx30, vwx40, False, bgd, bge) → new_compare10(vwx30, vwx40, new_ltEs12(vwx30, vwx40, bgd, bge), bgd, bge)
new_compare25(vwx30, vwx40, True, bgd, bge) → EQ
new_ltEs12(@2(vwx300, vwx301), @2(vwx400, vwx401), baf, bca) → new_pePe(new_lt20(vwx300, vwx400, baf), vwx300, vwx400, new_ltEs19(vwx301, vwx401, bca), baf)
new_compare10(vwx30, vwx40, True, bgd, bge) → LT
new_compare10(vwx30, vwx40, False, bgd, bge) → GT
new_lt20(vwx300, vwx400, app(ty_[], bda)) → new_lt18(vwx300, vwx400, bda)
new_lt20(vwx300, vwx400, app(ty_Maybe, bbh)) → new_lt16(vwx300, vwx400, bbh)
new_lt20(vwx300, vwx400, app(app(ty_@2, bcg), bch)) → new_lt7(vwx300, vwx400, bcg, bch)
new_lt20(vwx300, vwx400, ty_@0) → new_lt15(vwx300, vwx400)
new_lt20(vwx300, vwx400, ty_Int) → new_lt5(vwx300, vwx400)
new_lt20(vwx300, vwx400, ty_Float) → new_lt19(vwx300, vwx400)
new_lt20(vwx300, vwx400, ty_Ordering) → new_lt14(vwx300, vwx400)
new_lt20(vwx300, vwx400, ty_Char) → new_lt6(vwx300, vwx400)
new_lt20(vwx300, vwx400, app(app(ty_Either, bcb), bcc)) → new_lt4(vwx300, vwx400, bcb, bcc)
new_lt20(vwx300, vwx400, ty_Integer) → new_lt8(vwx300, vwx400)
new_lt20(vwx300, vwx400, ty_Double) → new_lt9(vwx300, vwx400)
new_lt20(vwx300, vwx400, app(app(app(ty_@3, bcd), bce), bcf)) → new_lt11(vwx300, vwx400, bcd, bce, bcf)
new_lt20(vwx300, vwx400, app(ty_Ratio, faa)) → new_lt10(vwx300, vwx400, faa)
new_lt20(vwx300, vwx400, ty_Bool) → new_lt17(vwx300, vwx400)
new_ltEs19(vwx301, vwx401, ty_@0) → new_ltEs7(vwx301, vwx401)
new_ltEs19(vwx301, vwx401, app(ty_Maybe, bag)) → new_ltEs4(vwx301, vwx401, bag)
new_ltEs19(vwx301, vwx401, ty_Float) → new_ltEs16(vwx301, vwx401)
new_ltEs19(vwx301, vwx401, app(app(ty_Either, bah), bba)) → new_ltEs10(vwx301, vwx401, bah, bba)
new_ltEs19(vwx301, vwx401, ty_Ordering) → new_ltEs6(vwx301, vwx401)
new_ltEs19(vwx301, vwx401, ty_Double) → new_ltEs5(vwx301, vwx401)
new_ltEs19(vwx301, vwx401, app(ty_Ratio, ehh)) → new_ltEs9(vwx301, vwx401, ehh)
new_ltEs19(vwx301, vwx401, ty_Bool) → new_ltEs14(vwx301, vwx401)
new_ltEs19(vwx301, vwx401, ty_Int) → new_ltEs17(vwx301, vwx401)
new_ltEs19(vwx301, vwx401, app(app(ty_@2, bbe), bbf)) → new_ltEs12(vwx301, vwx401, bbe, bbf)
new_ltEs19(vwx301, vwx401, ty_Char) → new_ltEs8(vwx301, vwx401)
new_ltEs19(vwx301, vwx401, app(ty_[], bbg)) → new_ltEs15(vwx301, vwx401, bbg)
new_ltEs19(vwx301, vwx401, app(app(app(ty_@3, bbb), bbc), bbd)) → new_ltEs11(vwx301, vwx401, bbb, bbc, bbd)
new_ltEs19(vwx301, vwx401, ty_Integer) → new_ltEs13(vwx301, vwx401)
new_pePe(False, vwx109, vwx110, vwx140, cce) → new_asAs(new_esEs26(vwx109, vwx110, cce), vwx140)
new_pePe(True, vwx109, vwx110, vwx140, cce) → True
new_esEs26(vwx109, vwx110, ty_Bool) → new_esEs18(vwx109, vwx110)
new_esEs26(vwx109, vwx110, ty_Integer) → new_esEs20(vwx109, vwx110)
new_esEs26(vwx109, vwx110, app(ty_[], cda)) → new_esEs22(vwx109, vwx110, cda)
new_esEs26(vwx109, vwx110, ty_@0) → new_esEs19(vwx109, vwx110)
new_esEs26(vwx109, vwx110, app(ty_Maybe, ccf)) → new_esEs4(vwx109, vwx110, ccf)
new_esEs26(vwx109, vwx110, ty_Double) → new_esEs21(vwx109, vwx110)
new_esEs26(vwx109, vwx110, ty_Char) → new_esEs17(vwx109, vwx110)
new_esEs26(vwx109, vwx110, ty_Int) → new_esEs25(vwx109, vwx110)
new_esEs26(vwx109, vwx110, app(app(app(ty_@3, cdb), cdc), cdd)) → new_esEs6(vwx109, vwx110, cdb, cdc, cdd)
new_esEs26(vwx109, vwx110, ty_Float) → new_esEs23(vwx109, vwx110)
new_esEs26(vwx109, vwx110, app(ty_Ratio, cde)) → new_esEs24(vwx109, vwx110, cde)
new_esEs26(vwx109, vwx110, app(app(ty_Either, ccg), cch)) → new_esEs5(vwx109, vwx110, ccg, cch)
new_esEs26(vwx109, vwx110, ty_Ordering) → new_esEs16(vwx109, vwx110)
new_esEs26(vwx109, vwx110, app(app(ty_@2, cdf), cdg)) → new_esEs7(vwx109, vwx110, cdf, cdg)
new_ltEs13(vwx30, vwx40) → new_not(new_esEs36(vwx30, vwx40))
new_esEs36(Integer(vwx300), Integer(vwx400)) → new_esEs16(new_primCmpInt(vwx300, vwx400), GT)
new_not(False) → True
new_not(True) → False
new_ltEs11(@3(vwx300, vwx301, vwx302), @3(vwx400, vwx401, vwx402), eg, eh, gd) → new_pePe(new_lt13(vwx300, vwx400, eg), vwx300, vwx400, new_pePe(new_lt12(vwx301, vwx401, eh), vwx301, vwx401, new_ltEs18(vwx302, vwx402, gd), eh), eg)
new_lt13(vwx300, vwx400, app(ty_[], bae)) → new_lt18(vwx300, vwx400, bae)
new_lt13(vwx300, vwx400, ty_@0) → new_lt15(vwx300, vwx400)
new_lt13(vwx300, vwx400, ty_Int) → new_lt5(vwx300, vwx400)
new_lt13(vwx300, vwx400, ty_Integer) → new_lt8(vwx300, vwx400)
new_lt13(vwx300, vwx400, ty_Ordering) → new_lt14(vwx300, vwx400)
new_lt13(vwx300, vwx400, app(ty_Ratio, edh)) → new_lt10(vwx300, vwx400, edh)
new_lt13(vwx300, vwx400, ty_Double) → new_lt9(vwx300, vwx400)
new_lt13(vwx300, vwx400, app(app(ty_Either, hf), hg)) → new_lt4(vwx300, vwx400, hf, hg)
new_lt13(vwx300, vwx400, app(app(ty_@2, bac), bad)) → new_lt7(vwx300, vwx400, bac, bad)
new_lt13(vwx300, vwx400, app(app(app(ty_@3, hh), baa), bab)) → new_lt11(vwx300, vwx400, hh, baa, bab)
new_lt13(vwx300, vwx400, app(ty_Maybe, he)) → new_lt16(vwx300, vwx400, he)
new_lt13(vwx300, vwx400, ty_Char) → new_lt6(vwx300, vwx400)
new_lt13(vwx300, vwx400, ty_Float) → new_lt19(vwx300, vwx400)
new_lt13(vwx300, vwx400, ty_Bool) → new_lt17(vwx300, vwx400)
new_lt12(vwx301, vwx401, ty_Ordering) → new_lt14(vwx301, vwx401)
new_lt12(vwx301, vwx401, app(ty_[], hd)) → new_lt18(vwx301, vwx401, hd)
new_lt12(vwx301, vwx401, ty_Bool) → new_lt17(vwx301, vwx401)
new_lt12(vwx301, vwx401, ty_Integer) → new_lt8(vwx301, vwx401)
new_lt12(vwx301, vwx401, ty_Double) → new_lt9(vwx301, vwx401)
new_lt12(vwx301, vwx401, app(ty_Maybe, gc)) → new_lt16(vwx301, vwx401, gc)
new_lt12(vwx301, vwx401, ty_Char) → new_lt6(vwx301, vwx401)
new_lt12(vwx301, vwx401, ty_@0) → new_lt15(vwx301, vwx401)
new_lt12(vwx301, vwx401, app(app(app(ty_@3, gg), gh), ha)) → new_lt11(vwx301, vwx401, gg, gh, ha)
new_lt12(vwx301, vwx401, app(app(ty_Either, ge), gf)) → new_lt4(vwx301, vwx401, ge, gf)
new_lt12(vwx301, vwx401, app(app(ty_@2, hb), hc)) → new_lt7(vwx301, vwx401, hb, hc)
new_lt12(vwx301, vwx401, ty_Float) → new_lt19(vwx301, vwx401)
new_lt12(vwx301, vwx401, app(ty_Ratio, edg)) → new_lt10(vwx301, vwx401, edg)
new_lt12(vwx301, vwx401, ty_Int) → new_lt5(vwx301, vwx401)
new_ltEs18(vwx302, vwx402, app(ty_[], gb)) → new_ltEs15(vwx302, vwx402, gb)
new_ltEs18(vwx302, vwx402, app(ty_Maybe, fa)) → new_ltEs4(vwx302, vwx402, fa)
new_ltEs18(vwx302, vwx402, app(ty_Ratio, edf)) → new_ltEs9(vwx302, vwx402, edf)
new_ltEs18(vwx302, vwx402, ty_Char) → new_ltEs8(vwx302, vwx402)
new_ltEs18(vwx302, vwx402, app(app(ty_Either, fb), fc)) → new_ltEs10(vwx302, vwx402, fb, fc)
new_ltEs18(vwx302, vwx402, ty_Ordering) → new_ltEs6(vwx302, vwx402)
new_ltEs18(vwx302, vwx402, ty_Integer) → new_ltEs13(vwx302, vwx402)
new_ltEs18(vwx302, vwx402, app(app(app(ty_@3, fd), ff), fg)) → new_ltEs11(vwx302, vwx402, fd, ff, fg)
new_ltEs18(vwx302, vwx402, app(app(ty_@2, fh), ga)) → new_ltEs12(vwx302, vwx402, fh, ga)
new_ltEs18(vwx302, vwx402, ty_@0) → new_ltEs7(vwx302, vwx402)
new_ltEs18(vwx302, vwx402, ty_Bool) → new_ltEs14(vwx302, vwx402)
new_ltEs18(vwx302, vwx402, ty_Int) → new_ltEs17(vwx302, vwx402)
new_ltEs18(vwx302, vwx402, ty_Float) → new_ltEs16(vwx302, vwx402)
new_ltEs18(vwx302, vwx402, ty_Double) → new_ltEs5(vwx302, vwx402)
new_ltEs5(vwx30, vwx40) → new_not(new_esEs16(new_primCmpDouble(vwx30, vwx40), GT))
new_ltEs16(vwx30, vwx40) → new_not(new_esEs16(new_primCmpFloat(vwx30, vwx40), GT))
new_primCmpFloat(Float(vwx300, vwx301), Float(vwx400, vwx401)) → new_compare5(new_sr(vwx300, vwx400), new_sr(vwx301, vwx401))
new_ltEs17(vwx30, vwx40) → new_not(new_esEs28(vwx30, vwx40))
new_esEs28(vwx30, vwx40) → new_esEs16(new_primCmpInt(vwx30, vwx40), GT)
new_ltEs14(False, True) → True
new_ltEs14(False, False) → True
new_ltEs14(True, True) → True
new_ltEs14(True, False) → False
new_ltEs7(vwx30, vwx40) → new_not(new_esEs27(vwx30, vwx40))
new_esEs27(@0, @0) → new_esEs16(EQ, GT)
new_ltEs6(GT, EQ) → False
new_ltEs6(EQ, GT) → True
new_ltEs6(EQ, EQ) → True
new_ltEs6(GT, GT) → True
new_ltEs6(LT, LT) → True
new_ltEs6(EQ, LT) → False
new_ltEs6(LT, GT) → True
new_ltEs6(LT, EQ) → True
new_ltEs6(GT, LT) → False
new_ltEs10(Left(vwx300), Left(vwx400), ty_Integer, cc) → new_ltEs13(vwx300, vwx400)
new_ltEs10(Right(vwx300), Right(vwx400), de, ty_Int) → new_ltEs17(vwx300, vwx400)
new_ltEs10(Left(vwx300), Right(vwx400), de, cc) → True
new_ltEs10(Right(vwx300), Right(vwx400), de, app(ty_Ratio, dea)) → new_ltEs9(vwx300, vwx400, dea)
new_ltEs10(Right(vwx300), Right(vwx400), de, ty_Bool) → new_ltEs14(vwx300, vwx400)
new_ltEs10(Left(vwx300), Left(vwx400), app(ty_[], dd), cc) → new_ltEs15(vwx300, vwx400, dd)
new_ltEs10(Left(vwx300), Left(vwx400), app(app(ty_@2, db), dc), cc) → new_ltEs12(vwx300, vwx400, db, dc)
new_ltEs10(Right(vwx300), Right(vwx400), de, ty_Double) → new_ltEs5(vwx300, vwx400)
new_ltEs10(Left(vwx300), Left(vwx400), app(ty_Ratio, ddh), cc) → new_ltEs9(vwx300, vwx400, ddh)
new_ltEs10(Left(vwx300), Left(vwx400), ty_Int, cc) → new_ltEs17(vwx300, vwx400)
new_ltEs10(Left(vwx300), Left(vwx400), ty_Bool, cc) → new_ltEs14(vwx300, vwx400)
new_ltEs10(Right(vwx300), Right(vwx400), de, ty_@0) → new_ltEs7(vwx300, vwx400)
new_ltEs10(Right(vwx300), Right(vwx400), de, app(ty_Maybe, df)) → new_ltEs4(vwx300, vwx400, df)
new_ltEs4(Just(vwx300), Just(vwx400), app(ty_Maybe, ba)) → new_ltEs4(vwx300, vwx400, ba)
new_ltEs10(Left(vwx300), Left(vwx400), app(ty_Maybe, cb), cc) → new_ltEs4(vwx300, vwx400, cb)
new_ltEs10(Left(vwx300), Left(vwx400), app(app(ty_Either, cd), ce), cc) → new_ltEs10(vwx300, vwx400, cd, ce)
new_ltEs4(Just(vwx300), Just(vwx400), app(app(ty_Either, bb), bc)) → new_ltEs10(vwx300, vwx400, bb, bc)
new_ltEs10(Right(vwx300), Right(vwx400), de, app(app(ty_Either, dg), dh)) → new_ltEs10(vwx300, vwx400, dg, dh)
new_ltEs10(Left(vwx300), Left(vwx400), ty_Ordering, cc) → new_ltEs6(vwx300, vwx400)
new_ltEs10(Right(vwx300), Right(vwx400), de, ty_Char) → new_ltEs8(vwx300, vwx400)
new_ltEs10(Left(vwx300), Left(vwx400), ty_Float, cc) → new_ltEs16(vwx300, vwx400)
new_ltEs10(Right(vwx300), Right(vwx400), de, app(app(app(ty_@3, ea), eb), ec)) → new_ltEs11(vwx300, vwx400, ea, eb, ec)
new_ltEs10(Left(vwx300), Left(vwx400), ty_@0, cc) → new_ltEs7(vwx300, vwx400)
new_ltEs10(Right(vwx300), Right(vwx400), de, ty_Integer) → new_ltEs13(vwx300, vwx400)
new_ltEs10(Left(vwx300), Left(vwx400), ty_Char, cc) → new_ltEs8(vwx300, vwx400)
new_ltEs10(Left(vwx300), Left(vwx400), ty_Double, cc) → new_ltEs5(vwx300, vwx400)
new_ltEs10(Right(vwx300), Right(vwx400), de, app(app(ty_@2, ed), ee)) → new_ltEs12(vwx300, vwx400, ed, ee)
new_ltEs10(Left(vwx300), Left(vwx400), app(app(app(ty_@3, cf), cg), da), cc) → new_ltEs11(vwx300, vwx400, cf, cg, da)
new_ltEs10(Right(vwx300), Left(vwx400), de, cc) → False
new_ltEs10(Right(vwx300), Right(vwx400), de, app(ty_[], ef)) → new_ltEs15(vwx300, vwx400, ef)
new_ltEs10(Right(vwx300), Right(vwx400), de, ty_Ordering) → new_ltEs6(vwx300, vwx400)
new_ltEs10(Right(vwx300), Right(vwx400), de, ty_Float) → new_ltEs16(vwx300, vwx400)
new_ltEs15(vwx30, vwx40, bdb) → new_not(new_esEs39(vwx30, vwx40, bdb))
new_esEs39([], :(vwx400, vwx401), bdb) → new_esEs16(LT, GT)
new_esEs39(:(vwx300, vwx301), :(vwx400, vwx401), bdb) → new_esEs16(new_primCompAux1(vwx300, vwx400, vwx301, vwx401, bdb), GT)
new_esEs39([], [], bdb) → new_esEs16(EQ, GT)
new_esEs39(:(vwx300, vwx301), [], bdb) → new_esEs16(GT, GT)
new_primCompAux1(vwx300, vwx400, vwx301, vwx401, bdc) → new_primCompAux00(vwx301, vwx401, new_compare(vwx300, vwx400, bdc), app(ty_[], bdc))
new_primCompAux00(vwx176, vwx177, EQ, app(ty_[], bfe)) → new_compare30(vwx176, vwx177, bfe)
new_compare30(:(vwx300, vwx301), :(vwx400, vwx401), bgf) → new_primCompAux1(vwx300, vwx400, vwx301, vwx401, bgf)
new_primCompAux00(vwx176, vwx177, LT, dba) → LT
new_primCompAux00(vwx176, vwx177, GT, dba) → GT
new_compare30([], [], bgf) → EQ
new_compare30(:(vwx300, vwx301), [], bgf) → GT
new_compare30([], :(vwx400, vwx401), bgf) → LT
new_ltEs8(vwx30, vwx40) → new_not(new_esEs16(new_primCmpChar(vwx30, vwx40), GT))
new_primCmpChar(Char(vwx300), Char(vwx400)) → new_primCmpNat0(vwx300, vwx400)
new_ltEs4(Just(vwx300), Just(vwx400), app(app(app(ty_@3, bd), be), bf)) → new_ltEs11(vwx300, vwx400, bd, be, bf)
new_ltEs4(Nothing, Just(vwx400), bhg) → True
new_ltEs4(Just(vwx300), Just(vwx400), ty_@0) → new_ltEs7(vwx300, vwx400)
new_ltEs4(Just(vwx300), Just(vwx400), ty_Char) → new_ltEs8(vwx300, vwx400)
new_ltEs4(Just(vwx300), Just(vwx400), ty_Integer) → new_ltEs13(vwx300, vwx400)
new_ltEs4(Just(vwx300), Just(vwx400), app(app(ty_@2, bg), bh)) → new_ltEs12(vwx300, vwx400, bg, bh)
new_ltEs4(Nothing, Nothing, bhg) → True
new_ltEs4(Just(vwx300), Just(vwx400), ty_Bool) → new_ltEs14(vwx300, vwx400)
new_ltEs4(Just(vwx300), Just(vwx400), ty_Int) → new_ltEs17(vwx300, vwx400)
new_ltEs4(Just(vwx300), Just(vwx400), ty_Double) → new_ltEs5(vwx300, vwx400)
new_ltEs4(Just(vwx300), Just(vwx400), app(ty_[], ca)) → new_ltEs15(vwx300, vwx400, ca)
new_ltEs4(Just(vwx300), Just(vwx400), ty_Ordering) → new_ltEs6(vwx300, vwx400)
new_ltEs4(Just(vwx300), Nothing, bhg) → False
new_ltEs4(Just(vwx300), Just(vwx400), app(ty_Ratio, bhh)) → new_ltEs9(vwx300, vwx400, bhh)
new_ltEs4(Just(vwx300), Just(vwx400), ty_Float) → new_ltEs16(vwx300, vwx400)
new_ltEs9(vwx30, vwx40, efc) → new_not(new_esEs37(vwx30, vwx40, efc))
new_esEs37(:%(vwx300, vwx301), :%(vwx400, vwx401), efc) → new_esEs16(new_compare33(vwx300, vwx401, vwx400, vwx301, efc), GT)
new_compare33(vwx300, vwx401, vwx400, vwx301, ty_Integer) → new_compare19(new_sr0(vwx300, vwx401), new_sr0(vwx400, vwx301))
new_compare33(vwx300, vwx401, vwx400, vwx301, ty_Int) → new_compare5(new_sr(vwx300, vwx401), new_sr(vwx400, vwx301))
new_sr0(Integer(vwx4000), Integer(vwx3010)) → Integer(new_primMulInt(vwx4000, vwx3010))
new_compare19(Integer(vwx300), Integer(vwx400)) → new_primCmpInt(vwx300, vwx400)
new_lt5(Neg(Zero), Pos(Succ(vwx4000))) → new_esEs16(LT, LT)
new_lt5(Neg(Succ(vwx3000)), Pos(vwx400)) → new_esEs16(LT, LT)
new_lt5(Pos(Zero), Pos(Zero)) → new_esEs16(EQ, LT)
new_lt5(Pos(Zero), Neg(Succ(vwx4000))) → new_esEs16(GT, LT)
new_lt5(Neg(Zero), Neg(Zero)) → new_esEs16(EQ, LT)
new_lt5(Pos(Succ(vwx3000)), Pos(vwx400)) → new_esEs16(new_primCmpNat0(Succ(vwx3000), vwx400), LT)
new_lt5(Pos(Zero), Pos(Succ(vwx4000))) → new_esEs16(new_primCmpNat0(Zero, Succ(vwx4000)), LT)
new_lt5(Pos(Zero), Neg(Zero)) → new_esEs16(EQ, LT)
new_lt5(Neg(Zero), Pos(Zero)) → new_esEs16(EQ, LT)
new_lt5(Pos(Succ(vwx3000)), Neg(vwx400)) → new_esEs16(GT, LT)
new_lt5(Neg(Zero), Neg(Succ(vwx4000))) → new_esEs16(new_primCmpNat0(Succ(vwx4000), Zero), LT)
new_lt5(Neg(Succ(vwx3000)), Neg(vwx400)) → new_esEs16(new_primCmpNat0(vwx400, Succ(vwx3000)), LT)
new_lt10(:%(vwx300, vwx301), :%(vwx400, vwx401), ddg) → new_esEs16(new_compare32(vwx300, vwx401, vwx400, vwx301, ddg), LT)
new_compare32(vwx300, vwx401, vwx400, vwx301, ty_Integer) → new_compare19(new_sr0(vwx300, vwx401), new_sr0(vwx400, vwx301))
new_compare32(vwx300, vwx401, vwx400, vwx301, ty_Int) → new_compare5(new_sr(vwx300, vwx401), new_sr(vwx400, vwx301))
new_lt19(Float(vwx300, vwx301), Float(vwx400, vwx401)) → new_esEs16(new_compare5(new_sr(vwx300, vwx400), new_sr(vwx301, vwx401)), LT)
new_lt7(@2(vwx300, vwx301), @2(vwx400, vwx401), bhe, bhf) → new_esEs16(new_compare25(@2(vwx300, vwx301), @2(vwx400, vwx401), new_asAs(new_esEs15(vwx300, vwx400, bhe), new_esEs14(vwx301, vwx401, bhf)), bhe, bhf), LT)
new_esEs15(vwx300, vwx400, app(app(ty_@2, daf), dag)) → new_esEs7(vwx300, vwx400, daf, dag)
new_esEs15(vwx300, vwx400, ty_Float) → new_esEs23(vwx300, vwx400)
new_esEs15(vwx300, vwx400, ty_Char) → new_esEs17(vwx300, vwx400)
new_esEs15(vwx300, vwx400, app(app(ty_Either, chg), chh)) → new_esEs5(vwx300, vwx400, chg, chh)
new_esEs15(vwx300, vwx400, ty_Integer) → new_esEs20(vwx300, vwx400)
new_esEs15(vwx300, vwx400, ty_Ordering) → new_esEs16(vwx300, vwx400)
new_esEs15(vwx300, vwx400, app(ty_Ratio, dae)) → new_esEs24(vwx300, vwx400, dae)
new_esEs15(vwx300, vwx400, app(app(app(ty_@3, dab), dac), dad)) → new_esEs6(vwx300, vwx400, dab, dac, dad)
new_esEs15(vwx300, vwx400, ty_Int) → new_esEs25(vwx300, vwx400)
new_esEs15(vwx300, vwx400, app(ty_Maybe, chf)) → new_esEs4(vwx300, vwx400, chf)
new_esEs15(vwx300, vwx400, ty_Double) → new_esEs21(vwx300, vwx400)
new_esEs15(vwx300, vwx400, app(ty_[], daa)) → new_esEs22(vwx300, vwx400, daa)
new_esEs15(vwx300, vwx400, ty_Bool) → new_esEs18(vwx300, vwx400)
new_esEs15(vwx300, vwx400, ty_@0) → new_esEs19(vwx300, vwx400)
new_esEs14(vwx301, vwx401, app(app(app(ty_@3, cgh), cha), chb)) → new_esEs6(vwx301, vwx401, cgh, cha, chb)
new_esEs14(vwx301, vwx401, app(ty_Ratio, chc)) → new_esEs24(vwx301, vwx401, chc)
new_esEs14(vwx301, vwx401, app(app(ty_@2, chd), che)) → new_esEs7(vwx301, vwx401, chd, che)
new_esEs14(vwx301, vwx401, ty_Int) → new_esEs25(vwx301, vwx401)
new_esEs14(vwx301, vwx401, ty_Float) → new_esEs23(vwx301, vwx401)
new_esEs14(vwx301, vwx401, app(ty_[], cgg)) → new_esEs22(vwx301, vwx401, cgg)
new_esEs14(vwx301, vwx401, app(ty_Maybe, cgd)) → new_esEs4(vwx301, vwx401, cgd)
new_esEs14(vwx301, vwx401, ty_@0) → new_esEs19(vwx301, vwx401)
new_esEs14(vwx301, vwx401, ty_Bool) → new_esEs18(vwx301, vwx401)
new_esEs14(vwx301, vwx401, ty_Char) → new_esEs17(vwx301, vwx401)
new_esEs14(vwx301, vwx401, app(app(ty_Either, cge), cgf)) → new_esEs5(vwx301, vwx401, cge, cgf)
new_esEs14(vwx301, vwx401, ty_Ordering) → new_esEs16(vwx301, vwx401)
new_esEs14(vwx301, vwx401, ty_Double) → new_esEs21(vwx301, vwx401)
new_esEs14(vwx301, vwx401, ty_Integer) → new_esEs20(vwx301, vwx401)
new_lt4(Right(vwx300), Right(vwx400), bgh, bha) → new_esEs16(new_compare24(Right(vwx300), Right(vwx400), new_esEs10(vwx300, vwx400, bha), bgh, bha), LT)
new_lt4(Left(vwx300), Left(vwx400), bgh, bha) → new_esEs16(new_compare24(Left(vwx300), Left(vwx400), new_esEs9(vwx300, vwx400, bgh), bgh, bha), LT)
new_lt4(Right(vwx300), Left(vwx400), bgh, bha) → new_esEs16(new_compare24(Right(vwx300), Left(vwx400), False, bgh, bha), LT)
new_lt4(Left(vwx300), Right(vwx400), bgh, bha) → new_esEs16(new_compare24(Left(vwx300), Right(vwx400), False, bgh, bha), LT)
new_compare24(vwx30, vwx40, False, bfg, bfh) → new_compare111(vwx30, vwx40, new_ltEs10(vwx30, vwx40, bfg, bfh), bfg, bfh)
new_compare111(vwx30, vwx40, False, bfg, bfh) → GT
new_compare111(vwx30, vwx40, True, bfg, bfh) → LT
new_esEs9(vwx300, vwx400, ty_Int) → new_esEs25(vwx300, vwx400)
new_esEs9(vwx300, vwx400, ty_Bool) → new_esEs18(vwx300, vwx400)
new_esEs9(vwx300, vwx400, ty_Float) → new_esEs23(vwx300, vwx400)
new_esEs9(vwx300, vwx400, ty_Ordering) → new_esEs16(vwx300, vwx400)
new_esEs9(vwx300, vwx400, app(ty_[], cad)) → new_esEs22(vwx300, vwx400, cad)
new_esEs9(vwx300, vwx400, app(ty_Ratio, cah)) → new_esEs24(vwx300, vwx400, cah)
new_esEs9(vwx300, vwx400, app(app(ty_@2, cba), cbb)) → new_esEs7(vwx300, vwx400, cba, cbb)
new_esEs9(vwx300, vwx400, ty_Char) → new_esEs17(vwx300, vwx400)
new_esEs9(vwx300, vwx400, ty_Double) → new_esEs21(vwx300, vwx400)
new_esEs9(vwx300, vwx400, app(app(ty_Either, cab), cac)) → new_esEs5(vwx300, vwx400, cab, cac)
new_esEs9(vwx300, vwx400, app(ty_Maybe, caa)) → new_esEs4(vwx300, vwx400, caa)
new_esEs9(vwx300, vwx400, ty_Integer) → new_esEs20(vwx300, vwx400)
new_esEs9(vwx300, vwx400, ty_@0) → new_esEs19(vwx300, vwx400)
new_esEs9(vwx300, vwx400, app(app(app(ty_@3, cae), caf), cag)) → new_esEs6(vwx300, vwx400, cae, caf, cag)
new_compare24(vwx30, vwx40, True, bfg, bfh) → EQ
new_lt11(@3(vwx300, vwx301, vwx302), @3(vwx400, vwx401, vwx402), bhb, bhc, bhd) → new_esEs16(new_compare27(@3(vwx300, vwx301, vwx302), @3(vwx400, vwx401, vwx402), new_asAs(new_esEs13(vwx300, vwx400, bhb), new_asAs(new_esEs12(vwx301, vwx401, bhc), new_esEs11(vwx302, vwx402, bhd))), bhb, bhc, bhd), LT)
new_compare27(vwx30, vwx40, True, bga, bgb, bgc) → EQ
new_compare27(vwx30, vwx40, False, bga, bgb, bgc) → new_compare12(vwx30, vwx40, new_ltEs11(vwx30, vwx40, bga, bgb, bgc), bga, bgb, bgc)
new_compare12(vwx30, vwx40, True, bga, bgb, bgc) → LT
new_compare12(vwx30, vwx40, False, bga, bgb, bgc) → GT
new_lt15(@0, @0) → new_esEs16(EQ, LT)
new_lt6(Char(vwx300), Char(vwx400)) → new_esEs16(new_primCmpNat0(vwx300, vwx400), LT)
new_lt16(Nothing, Nothing, bgg) → new_esEs16(new_compare28(Nothing, Nothing, True, bgg), LT)
new_lt16(Just(vwx300), Just(vwx400), bgg) → new_esEs16(new_compare28(Just(vwx300), Just(vwx400), new_esEs8(vwx300, vwx400, bgg), bgg), LT)
new_lt16(Nothing, Just(vwx400), bgg) → new_esEs16(new_compare28(Nothing, Just(vwx400), False, bgg), LT)
new_lt16(Just(vwx300), Nothing, bgg) → new_esEs16(new_compare28(Just(vwx300), Nothing, False, bgg), LT)
new_compare28(vwx30, vwx40, False, bff) → new_compare13(vwx30, vwx40, new_ltEs4(vwx30, vwx40, bff), bff)
new_compare13(vwx30, vwx40, True, bff) → LT
new_compare13(vwx30, vwx40, False, bff) → GT
new_esEs8(vwx300, vwx400, app(ty_[], eha)) → new_esEs22(vwx300, vwx400, eha)
new_esEs8(vwx300, vwx400, ty_@0) → new_esEs19(vwx300, vwx400)
new_esEs8(vwx300, vwx400, app(ty_Ratio, ehe)) → new_esEs24(vwx300, vwx400, ehe)
new_esEs8(vwx300, vwx400, ty_Bool) → new_esEs18(vwx300, vwx400)
new_esEs8(vwx300, vwx400, ty_Integer) → new_esEs20(vwx300, vwx400)
new_esEs8(vwx300, vwx400, app(app(ty_@2, ehf), ehg)) → new_esEs7(vwx300, vwx400, ehf, ehg)
new_esEs8(vwx300, vwx400, app(app(ty_Either, egg), egh)) → new_esEs5(vwx300, vwx400, egg, egh)
new_esEs8(vwx300, vwx400, ty_Char) → new_esEs17(vwx300, vwx400)
new_esEs8(vwx300, vwx400, ty_Float) → new_esEs23(vwx300, vwx400)
new_esEs8(vwx300, vwx400, app(app(app(ty_@3, ehb), ehc), ehd)) → new_esEs6(vwx300, vwx400, ehb, ehc, ehd)
new_esEs8(vwx300, vwx400, ty_Int) → new_esEs25(vwx300, vwx400)
new_esEs8(vwx300, vwx400, ty_Ordering) → new_esEs16(vwx300, vwx400)
new_esEs8(vwx300, vwx400, app(ty_Maybe, egf)) → new_esEs4(vwx300, vwx400, egf)
new_esEs8(vwx300, vwx400, ty_Double) → new_esEs21(vwx300, vwx400)
new_compare28(vwx30, vwx40, True, bff) → EQ
new_lt9(Double(vwx300, vwx301), Double(vwx400, vwx401)) → new_esEs16(new_compare5(new_sr(vwx300, vwx400), new_sr(vwx301, vwx401)), LT)
new_lt8(Integer(vwx300), Integer(vwx400)) → new_esEs16(new_primCmpInt(vwx300, vwx400), LT)
new_lt17(False, False) → new_esEs16(new_compare210(False, False, True), LT)
new_lt17(True, True) → new_esEs16(new_compare210(True, True, True), LT)
new_lt17(False, True) → new_esEs16(new_compare210(False, True, False), LT)
new_lt17(True, False) → new_esEs16(new_compare210(True, False, False), LT)
new_compare210(vwx30, vwx40, False) → new_compare110(vwx30, vwx40, new_ltEs14(vwx30, vwx40))
new_compare110(vwx30, vwx40, True) → LT
new_compare110(vwx30, vwx40, False) → GT
new_compare210(vwx30, vwx40, True) → EQ
new_lt18([], [], bdc) → new_esEs16(EQ, LT)
new_lt18(:(vwx300, vwx301), [], bdc) → new_esEs16(GT, LT)
new_lt18([], :(vwx400, vwx401), bdc) → new_esEs16(LT, LT)
new_lt18(:(vwx300, vwx301), :(vwx400, vwx401), bdc) → new_esEs16(new_primCompAux1(vwx300, vwx400, vwx301, vwx401, bdc), LT)
new_lt14(EQ, GT) → new_esEs16(new_compare26(EQ, GT, False), LT)
new_lt14(GT, EQ) → new_esEs16(new_compare26(GT, EQ, False), LT)
new_lt14(LT, EQ) → new_esEs16(new_compare26(LT, EQ, False), LT)
new_lt14(EQ, LT) → new_esEs16(new_compare26(EQ, LT, False), LT)
new_lt14(EQ, EQ) → new_esEs16(new_compare26(EQ, EQ, True), LT)
new_lt14(LT, LT) → new_esEs16(new_compare26(LT, LT, True), LT)
new_lt14(GT, GT) → new_esEs16(new_compare26(GT, GT, True), LT)
new_lt14(LT, GT) → new_esEs16(new_compare26(LT, GT, False), LT)
new_lt14(GT, LT) → new_esEs16(new_compare26(GT, LT, False), LT)
new_compare26(vwx30, vwx40, False) → new_compare11(vwx30, vwx40, new_ltEs6(vwx30, vwx40))
new_compare11(vwx30, vwx40, False) → GT
new_compare11(vwx30, vwx40, True) → LT
new_compare26(vwx30, vwx40, True) → EQ
new_compare7(vwx30, vwx40) → new_compare26(vwx30, vwx40, new_esEs16(vwx30, vwx40))
new_compare17(vwx30, vwx40, bga, bgb, bgc) → new_compare27(vwx30, vwx40, new_esEs6(vwx30, vwx40, bga, bgb, bgc), bga, bgb, bgc)
new_compare15(:%(vwx300, vwx301), :%(vwx400, vwx401), ty_Integer) → new_compare19(new_sr0(vwx300, vwx401), new_sr0(vwx400, vwx301))
new_compare15(:%(vwx300, vwx301), :%(vwx400, vwx401), ty_Int) → new_compare5(new_sr(vwx300, vwx401), new_sr(vwx400, vwx301))
new_compare14(vwx30, vwx40, bff) → new_compare28(vwx30, vwx40, new_esEs4(vwx30, vwx40, bff), bff)
new_compare31(vwx30, vwx40) → new_primCmpFloat(vwx30, vwx40)
new_compare16(vwx30, vwx40, bfg, bfh) → new_compare24(vwx30, vwx40, new_esEs5(vwx30, vwx40, bfg, bfh), bfg, bfh)
new_compare29(vwx30, vwx40) → new_compare210(vwx30, vwx40, new_esEs18(vwx30, vwx40))
new_compare9(vwx30, vwx40) → new_primCmpChar(vwx30, vwx40)

The set Q consists of the following terms:

new_ltEs10(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_esEs13(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs10(x0, x1, ty_Char)
new_esEs5(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_lt18([], :(x0, x1), x2)
new_esEs8(x0, x1, ty_@0)
new_ltEs9(x0, x1, x2)
new_lt5(Neg(Zero), Pos(Zero))
new_lt5(Pos(Zero), Neg(Zero))
new_lt4(Left(x0), Left(x1), x2, x3)
new_lt17(False, False)
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_primCmpInt(Pos(Succ(x0)), Neg(x1))
new_esEs5(Right(x0), Right(x1), x2, ty_Double)
new_esEs31(x0, x1, ty_Double)
new_esEs31(x0, x1, app(ty_Ratio, x2))
new_primCompAux00(x0, x1, EQ, ty_Float)
new_ltEs18(x0, x1, app(ty_Ratio, x2))
new_esEs39([], [], x0)
new_esEs10(x0, x1, ty_@0)
new_esEs38(x0, x1, ty_Bool)
new_esEs21(Double(x0, x1), Double(x2, x3))
new_primEqNat0(Succ(x0), Zero)
new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1)))
new_lt20(x0, x1, ty_Double)
new_ltEs4(Just(x0), Just(x1), app(ty_[], x2))
new_esEs35(x0, x1, ty_Float)
new_esEs5(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_esEs15(x0, x1, ty_Ordering)
new_lt20(x0, x1, ty_Integer)
new_compare33(x0, x1, x2, x3, ty_Int)
new_primCompAux00(x0, x1, EQ, ty_Ordering)
new_compare110(x0, x1, False)
new_esEs32(x0, x1, ty_Double)
new_esEs9(x0, x1, app(ty_Maybe, x2))
new_esEs38(x0, x1, app(ty_Maybe, x2))
new_compare6(x0, x1)
new_esEs29(x0, x1, ty_Int)
new_esEs34(x0, x1, ty_Bool)
new_esEs11(x0, x1, ty_Double)
new_lt13(x0, x1, ty_Char)
new_primCompAux00(x0, x1, EQ, ty_Integer)
new_esEs31(x0, x1, app(app(ty_Either, x2), x3))
new_lt6(Char(x0), Char(x1))
new_esEs12(x0, x1, ty_Bool)
new_compare24(x0, x1, False, x2, x3)
new_esEs15(x0, x1, ty_Integer)
new_esEs38(x0, x1, ty_Float)
new_lt16(Just(x0), Just(x1), x2)
new_esEs33(x0, x1, app(ty_Ratio, x2))
new_lt5(Neg(Zero), Pos(Succ(x0)))
new_lt5(Pos(Zero), Neg(Succ(x0)))
new_esEs26(x0, x1, ty_Int)
new_ltEs12(@2(x0, x1), @2(x2, x3), x4, x5)
new_esEs8(x0, x1, ty_Bool)
new_lt13(x0, x1, ty_Double)
new_esEs35(x0, x1, app(ty_[], x2))
new_lt12(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs18(x0, x1, ty_Char)
new_ltEs14(True, False)
new_ltEs14(False, True)
new_esEs33(x0, x1, ty_Char)
new_esEs33(x0, x1, ty_Int)
new_ltEs10(Right(x0), Right(x1), x2, ty_Integer)
new_compare32(x0, x1, x2, x3, ty_Integer)
new_esEs34(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs10(Left(x0), Left(x1), ty_Float, x2)
new_lt13(x0, x1, app(ty_[], x2))
new_esEs15(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs14(x0, x1, ty_Char)
new_compare26(x0, x1, True)
new_esEs32(x0, x1, ty_Char)
new_esEs4(Just(x0), Just(x1), app(ty_Maybe, x2))
new_esEs5(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_esEs26(x0, x1, app(ty_Maybe, x2))
new_lt17(True, True)
new_esEs18(True, True)
new_esEs31(x0, x1, ty_Int)
new_compare24(x0, x1, True, x2, x3)
new_esEs4(Just(x0), Just(x1), app(ty_[], x2))
new_esEs9(x0, x1, app(ty_[], x2))
new_esEs16(LT, GT)
new_esEs16(GT, LT)
new_esEs9(x0, x1, ty_Double)
new_ltEs18(x0, x1, app(ty_Maybe, x2))
new_primCompAux00(x0, x1, EQ, app(app(ty_Either, x2), x3))
new_esEs33(x0, x1, ty_Double)
new_compare111(x0, x1, True, x2, x3)
new_esEs32(x0, x1, app(ty_[], x2))
new_esEs31(x0, x1, app(app(ty_@2, x2), x3))
new_esEs33(x0, x1, ty_Bool)
new_esEs32(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs18(x0, x1, ty_Bool)
new_lt13(x0, x1, ty_Ordering)
new_esEs15(x0, x1, ty_@0)
new_esEs8(x0, x1, ty_Float)
new_esEs38(x0, x1, ty_Integer)
new_esEs14(x0, x1, ty_Double)
new_esEs5(Right(x0), Right(x1), x2, ty_Int)
new_primEqNat0(Zero, Succ(x0))
new_lt20(x0, x1, ty_Float)
new_lt4(Right(x0), Right(x1), x2, x3)
new_compare5(x0, x1)
new_esEs11(x0, x1, ty_Float)
new_ltEs19(x0, x1, ty_@0)
new_primCompAux1(x0, x1, x2, x3, x4)
new_compare28(x0, x1, True, x2)
new_primMulNat0(Zero, Succ(x0))
new_compare8(@0, @0)
new_compare26(x0, x1, False)
new_compare30(:(x0, x1), [], x2)
new_esEs36(Integer(x0), Integer(x1))
new_esEs4(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_compare(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs6(EQ, EQ)
new_lt13(x0, x1, app(app(ty_@2, x2), x3))
new_esEs13(x0, x1, ty_Int)
new_primCompAux00(x0, x1, EQ, ty_Int)
new_esEs5(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_esEs14(x0, x1, ty_Float)
new_lt18(:(x0, x1), [], x2)
new_esEs31(x0, x1, ty_Integer)
new_esEs32(x0, x1, app(app(ty_Either, x2), x3))
new_lt13(x0, x1, app(ty_Ratio, x2))
new_primCompAux00(x0, x1, EQ, app(app(app(ty_@3, x2), x3), x4))
new_compare27(x0, x1, False, x2, x3, x4)
new_esEs4(Just(x0), Just(x1), ty_Bool)
new_esEs34(x0, x1, app(ty_[], x2))
new_ltEs6(LT, EQ)
new_ltEs6(EQ, LT)
new_compare29(x0, x1)
new_sr(x0, x1)
new_ltEs18(x0, x1, app(app(ty_@2, x2), x3))
new_primMulNat0(Succ(x0), Succ(x1))
new_esEs12(x0, x1, ty_@0)
new_esEs10(x0, x1, ty_Bool)
new_primEqNat0(Zero, Zero)
new_pePe(False, x0, x1, x2, x3)
new_esEs15(x0, x1, ty_Float)
new_lt13(x0, x1, app(ty_Maybe, x2))
new_esEs4(Just(x0), Just(x1), ty_Integer)
new_lt15(@0, @0)
new_ltEs4(Just(x0), Just(x1), ty_Integer)
new_esEs22([], :(x0, x1), x2)
new_esEs11(x0, x1, ty_@0)
new_compare16(x0, x1, x2, x3)
new_esEs14(x0, x1, app(ty_Ratio, x2))
new_esEs24(:%(x0, x1), :%(x2, x3), x4)
new_ltEs10(Right(x0), Right(x1), x2, app(ty_[], x3))
new_esEs22(:(x0, x1), [], x2)
new_lt5(Pos(Zero), Pos(Zero))
new_compare(x0, x1, ty_Char)
new_ltEs10(Right(x0), Right(x1), x2, ty_Float)
new_lt20(x0, x1, app(app(ty_@2, x2), x3))
new_lt14(EQ, LT)
new_lt14(LT, EQ)
new_compare10(x0, x1, False, x2, x3)
new_esEs26(x0, x1, ty_Integer)
new_esEs9(x0, x1, app(app(ty_@2, x2), x3))
new_primMulInt(Pos(x0), Pos(x1))
new_lt14(GT, GT)
new_compare10(x0, x1, True, x2, x3)
new_lt20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs10(Left(x0), Left(x1), ty_Ordering, x2)
new_primMulNat0(Zero, Zero)
new_esEs4(Just(x0), Just(x1), app(ty_Ratio, x2))
new_esEs22(:(x0, x1), :(x2, x3), x4)
new_ltEs8(x0, x1)
new_esEs26(x0, x1, ty_Char)
new_compare(x0, x1, ty_Double)
new_esEs13(x0, x1, ty_Float)
new_esEs4(Just(x0), Just(x1), ty_Int)
new_lt5(Pos(Zero), Pos(Succ(x0)))
new_lt4(Right(x0), Left(x1), x2, x3)
new_lt4(Left(x0), Right(x1), x2, x3)
new_lt12(x0, x1, ty_Ordering)
new_esEs30(x0, x1, ty_Int)
new_esEs9(x0, x1, ty_Float)
new_ltEs10(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_esEs14(x0, x1, app(app(ty_Either, x2), x3))
new_primPlusNat1(Succ(x0), Zero)
new_lt12(x0, x1, app(ty_Ratio, x2))
new_lt16(Just(x0), Nothing, x1)
new_esEs34(x0, x1, ty_Int)
new_compare17(x0, x1, x2, x3, x4)
new_ltEs10(Right(x0), Right(x1), x2, ty_Bool)
new_esEs8(x0, x1, app(app(ty_Either, x2), x3))
new_esEs35(x0, x1, ty_Integer)
new_esEs35(x0, x1, app(ty_Maybe, x2))
new_lt16(Nothing, Nothing, x0)
new_esEs12(x0, x1, ty_Int)
new_esEs12(x0, x1, ty_Ordering)
new_esEs13(x0, x1, ty_Integer)
new_lt20(x0, x1, ty_Char)
new_esEs13(x0, x1, app(ty_Ratio, x2))
new_esEs26(x0, x1, ty_Ordering)
new_ltEs4(Just(x0), Just(x1), ty_Char)
new_ltEs13(x0, x1)
new_primCompAux00(x0, x1, EQ, ty_Char)
new_esEs16(GT, GT)
new_compare13(x0, x1, True, x2)
new_esEs15(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs18(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs11(x0, x1, ty_Char)
new_ltEs4(Just(x0), Just(x1), ty_Double)
new_lt13(x0, x1, app(app(ty_Either, x2), x3))
new_esEs5(Right(x0), Right(x1), x2, app(ty_[], x3))
new_esEs25(x0, x1)
new_compare7(x0, x1)
new_ltEs10(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_ltEs4(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_esEs12(x0, x1, app(ty_[], x2))
new_asAs(True, x0)
new_esEs31(x0, x1, app(ty_Maybe, x2))
new_esEs39(:(x0, x1), :(x2, x3), x4)
new_esEs10(x0, x1, app(app(ty_@2, x2), x3))
new_lt20(x0, x1, ty_@0)
new_compare(x0, x1, app(app(ty_@2, x2), x3))
new_esEs35(x0, x1, app(app(ty_Either, x2), x3))
new_esEs8(x0, x1, ty_Char)
new_primEqInt(Neg(Zero), Neg(Succ(x0)))
new_ltEs6(GT, LT)
new_ltEs6(LT, GT)
new_esEs13(x0, x1, app(app(ty_Either, x2), x3))
new_lt19(Float(x0, x1), Float(x2, x3))
new_esEs14(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primCompAux00(x0, x1, EQ, ty_@0)
new_esEs9(x0, x1, ty_Integer)
new_esEs38(x0, x1, ty_@0)
new_ltEs4(Nothing, Nothing, x0)
new_esEs8(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs18(False, False)
new_ltEs10(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_primPlusNat1(Succ(x0), Succ(x1))
new_esEs12(x0, x1, app(app(ty_Either, x2), x3))
new_lt12(x0, x1, ty_@0)
new_esEs5(Right(x0), Left(x1), x2, x3)
new_esEs5(Left(x0), Right(x1), x2, x3)
new_compare15(:%(x0, x1), :%(x2, x3), ty_Integer)
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_ltEs19(x0, x1, app(ty_[], x2))
new_esEs4(Nothing, Nothing, x0)
new_esEs14(x0, x1, ty_Int)
new_esEs35(x0, x1, ty_Char)
new_esEs26(x0, x1, ty_Double)
new_compare9(x0, x1)
new_ltEs19(x0, x1, ty_Integer)
new_esEs8(x0, x1, ty_Ordering)
new_esEs12(x0, x1, ty_Char)
new_esEs31(x0, x1, ty_Float)
new_esEs12(x0, x1, app(app(ty_@2, x2), x3))
new_esEs20(Integer(x0), Integer(x1))
new_esEs33(x0, x1, app(ty_Maybe, x2))
new_esEs32(x0, x1, app(ty_Ratio, x2))
new_esEs14(x0, x1, ty_Ordering)
new_primPlusNat1(Zero, Zero)
new_esEs4(Just(x0), Nothing, x1)
new_primCmpInt(Neg(Succ(x0)), Neg(x1))
new_compare210(x0, x1, True)
new_esEs10(x0, x1, ty_Ordering)
new_primCompAux00(x0, x1, LT, x2)
new_ltEs10(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_esEs13(x0, x1, ty_Char)
new_esEs8(x0, x1, ty_Integer)
new_ltEs4(Just(x0), Just(x1), ty_Bool)
new_ltEs10(Right(x0), Right(x1), x2, ty_Ordering)
new_esEs5(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_esEs31(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt14(GT, EQ)
new_lt14(EQ, GT)
new_esEs15(x0, x1, app(ty_Ratio, x2))
new_compare13(x0, x1, False, x2)
new_ltEs19(x0, x1, ty_Char)
new_lt12(x0, x1, ty_Double)
new_esEs8(x0, x1, app(ty_Ratio, x2))
new_ltEs4(Just(x0), Just(x1), ty_Float)
new_lt17(False, True)
new_lt17(True, False)
new_primCompAux00(x0, x1, EQ, app(app(ty_@2, x2), x3))
new_esEs9(x0, x1, app(app(ty_Either, x2), x3))
new_primCmpInt(Neg(Zero), Neg(Zero))
new_ltEs19(x0, x1, app(app(ty_Either, x2), x3))
new_primEqInt(Pos(Zero), Neg(Succ(x0)))
new_primEqInt(Neg(Zero), Pos(Succ(x0)))
new_esEs17(Char(x0), Char(x1))
new_lt12(x0, x1, ty_Integer)
new_compare(x0, x1, app(ty_Ratio, x2))
new_ltEs19(x0, x1, app(app(ty_@2, x2), x3))
new_compare27(x0, x1, True, x2, x3, x4)
new_pePe(True, x0, x1, x2, x3)
new_compare(x0, x1, app(ty_[], x2))
new_esEs6(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_lt12(x0, x1, app(ty_Maybe, x2))
new_esEs12(x0, x1, ty_Double)
new_primMulNat0(Succ(x0), Zero)
new_compare(x0, x1, app(ty_Maybe, x2))
new_ltEs10(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_esEs35(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs10(Left(x0), Left(x1), ty_Integer, x2)
new_lt14(EQ, EQ)
new_ltEs18(x0, x1, ty_Double)
new_esEs35(x0, x1, app(ty_Ratio, x2))
new_compare19(Integer(x0), Integer(x1))
new_esEs11(x0, x1, ty_Ordering)
new_esEs14(x0, x1, ty_Integer)
new_ltEs10(Right(x0), Right(x1), x2, ty_Double)
new_esEs10(x0, x1, app(ty_Maybe, x2))
new_esEs11(x0, x1, app(ty_[], x2))
new_esEs31(x0, x1, ty_Bool)
new_lt12(x0, x1, ty_Char)
new_ltEs10(Left(x0), Left(x1), ty_Int, x2)
new_esEs15(x0, x1, ty_Int)
new_esEs35(x0, x1, ty_Ordering)
new_esEs4(Nothing, Just(x0), x1)
new_esEs12(x0, x1, app(ty_Ratio, x2))
new_esEs5(Right(x0), Right(x1), x2, ty_Bool)
new_esEs11(x0, x1, ty_Integer)
new_esEs38(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt18([], [], x0)
new_esEs32(x0, x1, ty_Bool)
new_esEs7(@2(x0, x1), @2(x2, x3), x4, x5)
new_lt12(x0, x1, ty_Int)
new_ltEs10(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_primEqNat0(Succ(x0), Succ(x1))
new_primEqInt(Neg(Zero), Pos(Zero))
new_primEqInt(Pos(Zero), Neg(Zero))
new_esEs31(x0, x1, ty_@0)
new_ltEs7(x0, x1)
new_esEs32(x0, x1, ty_Ordering)
new_esEs35(x0, x1, app(app(ty_@2, x2), x3))
new_lt12(x0, x1, ty_Float)
new_lt20(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs18(x0, x1, ty_Integer)
new_lt13(x0, x1, ty_Int)
new_esEs30(x0, x1, ty_Integer)
new_lt16(Nothing, Just(x0), x1)
new_esEs4(Just(x0), Just(x1), ty_@0)
new_esEs23(Float(x0, x1), Float(x2, x3))
new_esEs5(Right(x0), Right(x1), x2, ty_Char)
new_compare30([], :(x0, x1), x2)
new_compare(x0, x1, app(app(ty_Either, x2), x3))
new_esEs37(:%(x0, x1), :%(x2, x3), x4)
new_esEs34(x0, x1, app(app(ty_Either, x2), x3))
new_lt8(Integer(x0), Integer(x1))
new_esEs9(x0, x1, ty_Int)
new_ltEs19(x0, x1, ty_Float)
new_primCmpInt(Pos(Zero), Pos(Zero))
new_esEs18(False, True)
new_esEs18(True, False)
new_esEs5(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_ltEs4(Nothing, Just(x0), x1)
new_ltEs18(x0, x1, ty_Float)
new_esEs13(x0, x1, app(ty_Maybe, x2))
new_compare(x0, x1, ty_Integer)
new_compare110(x0, x1, True)
new_esEs14(x0, x1, ty_@0)
new_esEs5(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_primEqInt(Neg(Zero), Neg(Zero))
new_esEs38(x0, x1, ty_Ordering)
new_compare12(x0, x1, True, x2, x3, x4)
new_esEs39(:(x0, x1), [], x2)
new_lt5(Neg(Zero), Neg(Succ(x0)))
new_esEs32(x0, x1, ty_Float)
new_compare30([], [], x0)
new_esEs38(x0, x1, ty_Char)
new_esEs38(x0, x1, ty_Double)
new_esEs13(x0, x1, ty_@0)
new_esEs15(x0, x1, ty_Bool)
new_esEs33(x0, x1, app(app(ty_@2, x2), x3))
new_esEs16(LT, LT)
new_compare18(x0, x1, x2, x3)
new_esEs11(x0, x1, app(ty_Ratio, x2))
new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1)))
new_esEs35(x0, x1, ty_Double)
new_compare14(x0, x1, x2)
new_ltEs18(x0, x1, ty_Ordering)
new_primCompAux00(x0, x1, EQ, app(ty_Ratio, x2))
new_asAs(False, x0)
new_esEs11(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs32(x0, x1, ty_Integer)
new_esEs11(x0, x1, ty_Int)
new_lt12(x0, x1, ty_Bool)
new_esEs26(x0, x1, app(ty_[], x2))
new_esEs34(x0, x1, app(app(ty_@2, x2), x3))
new_esEs4(Just(x0), Just(x1), ty_Float)
new_lt9(Double(x0, x1), Double(x2, x3))
new_ltEs4(Just(x0), Just(x1), app(ty_Ratio, x2))
new_ltEs4(Just(x0), Just(x1), ty_Ordering)
new_esEs32(x0, x1, ty_@0)
new_esEs26(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primCmpNat0(Zero, Succ(x0))
new_esEs11(x0, x1, ty_Bool)
new_ltEs19(x0, x1, ty_Bool)
new_esEs5(Right(x0), Right(x1), x2, ty_Float)
new_primMulInt(Neg(x0), Neg(x1))
new_lt5(Neg(Succ(x0)), Neg(x1))
new_lt5(Neg(Zero), Neg(Zero))
new_esEs10(x0, x1, app(ty_[], x2))
new_esEs8(x0, x1, app(ty_Maybe, x2))
new_esEs10(x0, x1, app(ty_Ratio, x2))
new_esEs10(x0, x1, ty_Double)
new_esEs11(x0, x1, app(app(ty_@2, x2), x3))
new_primCompAux00(x0, x1, EQ, ty_Bool)
new_compare11(x0, x1, True)
new_lt10(:%(x0, x1), :%(x2, x3), x4)
new_esEs9(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs18(x0, x1, ty_@0)
new_ltEs6(GT, GT)
new_esEs8(x0, x1, ty_Int)
new_compare31(x0, x1)
new_lt20(x0, x1, ty_Ordering)
new_esEs12(x0, x1, ty_Float)
new_ltEs10(Right(x0), Right(x1), x2, ty_@0)
new_esEs31(x0, x1, app(ty_[], x2))
new_primEqInt(Pos(Succ(x0)), Neg(x1))
new_primEqInt(Neg(Succ(x0)), Pos(x1))
new_esEs5(Right(x0), Right(x1), x2, ty_@0)
new_esEs10(x0, x1, ty_Float)
new_esEs26(x0, x1, ty_@0)
new_ltEs4(Just(x0), Just(x1), ty_Int)
new_compare30(:(x0, x1), :(x2, x3), x4)
new_esEs5(Left(x0), Left(x1), ty_Char, x2)
new_esEs4(Just(x0), Just(x1), ty_Char)
new_esEs38(x0, x1, app(ty_[], x2))
new_esEs5(Right(x0), Right(x1), x2, ty_Integer)
new_compare(x0, x1, ty_@0)
new_esEs35(x0, x1, ty_Bool)
new_primEqInt(Neg(Succ(x0)), Neg(Zero))
new_ltEs19(x0, x1, app(ty_Maybe, x2))
new_lt13(x0, x1, ty_Bool)
new_compare28(x0, x1, False, x2)
new_esEs33(x0, x1, ty_Integer)
new_esEs14(x0, x1, app(app(ty_@2, x2), x3))
new_esEs38(x0, x1, app(app(ty_@2, x2), x3))
new_esEs34(x0, x1, ty_Char)
new_esEs33(x0, x1, ty_Float)
new_lt18(:(x0, x1), :(x2, x3), x4)
new_primCmpNat0(Zero, Zero)
new_esEs5(Left(x0), Left(x1), ty_@0, x2)
new_esEs9(x0, x1, ty_Ordering)
new_ltEs10(Left(x0), Left(x1), ty_Double, x2)
new_esEs26(x0, x1, app(app(ty_Either, x2), x3))
new_esEs35(x0, x1, ty_Int)
new_ltEs6(LT, LT)
new_ltEs10(Left(x0), Left(x1), app(ty_[], x2), x3)
new_esEs34(x0, x1, ty_Ordering)
new_ltEs10(Left(x0), Left(x1), ty_Char, x2)
new_lt7(@2(x0, x1), @2(x2, x3), x4, x5)
new_ltEs10(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_ltEs10(Right(x0), Left(x1), x2, x3)
new_ltEs10(Left(x0), Right(x1), x2, x3)
new_primPlusNat1(Zero, Succ(x0))
new_esEs5(Left(x0), Left(x1), ty_Bool, x2)
new_esEs15(x0, x1, app(ty_Maybe, x2))
new_esEs32(x0, x1, app(ty_Maybe, x2))
new_esEs13(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs19(x0, x1, ty_Ordering)
new_compare210(x0, x1, False)
new_esEs10(x0, x1, ty_Integer)
new_primCompAux00(x0, x1, EQ, ty_Double)
new_primCompAux00(x0, x1, GT, x2)
new_esEs15(x0, x1, ty_Char)
new_esEs34(x0, x1, ty_Float)
new_esEs9(x0, x1, ty_Char)
new_esEs11(x0, x1, app(app(ty_Either, x2), x3))
new_esEs9(x0, x1, ty_@0)
new_lt12(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs10(x0, x1, ty_Int)
new_primCmpDouble(Double(x0, x1), Double(x2, x3))
new_lt14(LT, GT)
new_lt14(GT, LT)
new_esEs9(x0, x1, ty_Bool)
new_primEqInt(Pos(Succ(x0)), Pos(Zero))
new_esEs34(x0, x1, ty_@0)
new_esEs4(Just(x0), Just(x1), ty_Double)
new_ltEs15(x0, x1, x2)
new_ltEs4(Just(x0), Just(x1), app(ty_Maybe, x2))
new_lt5(Pos(Succ(x0)), Pos(x1))
new_primCompAux00(x0, x1, EQ, app(ty_Maybe, x2))
new_compare11(x0, x1, False)
new_esEs4(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_primMulInt(Neg(x0), Pos(x1))
new_primMulInt(Pos(x0), Neg(x1))
new_ltEs14(True, True)
new_compare25(x0, x1, True, x2, x3)
new_ltEs11(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_lt5(Neg(Succ(x0)), Pos(x1))
new_lt5(Pos(Succ(x0)), Neg(x1))
new_ltEs14(False, False)
new_ltEs4(Just(x0), Nothing, x1)
new_primCmpNat0(Succ(x0), Succ(x1))
new_primEqInt(Pos(Zero), Pos(Succ(x0)))
new_compare(x0, x1, ty_Ordering)
new_compare(x0, x1, ty_Int)
new_lt14(LT, LT)
new_esEs39([], :(x0, x1), x2)
new_esEs12(x0, x1, ty_Integer)
new_not(True)
new_ltEs10(Right(x0), Right(x1), x2, ty_Int)
new_ltEs19(x0, x1, app(ty_Ratio, x2))
new_esEs33(x0, x1, ty_Ordering)
new_ltEs10(Left(x0), Left(x1), ty_@0, x2)
new_esEs29(x0, x1, ty_Integer)
new_esEs11(x0, x1, app(ty_Maybe, x2))
new_ltEs16(x0, x1)
new_esEs33(x0, x1, app(app(ty_Either, x2), x3))
new_esEs16(EQ, LT)
new_esEs16(LT, EQ)
new_esEs27(@0, @0)
new_esEs5(Left(x0), Left(x1), ty_Float, x2)
new_esEs26(x0, x1, app(ty_Ratio, x2))
new_ltEs10(Left(x0), Left(x1), ty_Bool, x2)
new_esEs12(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs5(x0, x1)
new_esEs16(EQ, EQ)
new_ltEs4(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_esEs5(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_esEs14(x0, x1, app(ty_[], x2))
new_ltEs4(Just(x0), Just(x1), ty_@0)
new_primCmpInt(Neg(Zero), Pos(Zero))
new_primCmpInt(Pos(Zero), Neg(Zero))
new_compare32(x0, x1, x2, x3, ty_Int)
new_not(False)
new_esEs38(x0, x1, ty_Int)
new_esEs22([], [], x0)
new_lt13(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt20(x0, x1, app(ty_Ratio, x2))
new_esEs34(x0, x1, ty_Double)
new_compare(x0, x1, ty_Bool)
new_compare(x0, x1, ty_Float)
new_ltEs6(EQ, GT)
new_ltEs6(GT, EQ)
new_esEs15(x0, x1, app(app(ty_@2, x2), x3))
new_esEs10(x0, x1, app(app(ty_Either, x2), x3))
new_esEs5(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_esEs38(x0, x1, app(ty_Ratio, x2))
new_esEs14(x0, x1, ty_Bool)
new_esEs32(x0, x1, ty_Int)
new_esEs8(x0, x1, app(ty_[], x2))
new_esEs33(x0, x1, app(ty_[], x2))
new_compare111(x0, x1, False, x2, x3)
new_compare12(x0, x1, False, x2, x3, x4)
new_lt20(x0, x1, app(ty_Maybe, x2))
new_esEs5(Left(x0), Left(x1), ty_Integer, x2)
new_esEs14(x0, x1, app(ty_Maybe, x2))
new_sr0(Integer(x0), Integer(x1))
new_esEs5(Right(x0), Right(x1), x2, ty_Ordering)
new_esEs8(x0, x1, app(app(ty_@2, x2), x3))
new_esEs34(x0, x1, app(ty_Maybe, x2))
new_ltEs19(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_ltEs10(Right(x0), Right(x1), x2, ty_Char)
new_esEs5(Left(x0), Left(x1), ty_Ordering, x2)
new_lt13(x0, x1, ty_Integer)
new_ltEs18(x0, x1, ty_Int)
new_ltEs18(x0, x1, app(ty_[], x2))
new_esEs28(x0, x1)
new_lt20(x0, x1, app(ty_[], x2))
new_esEs16(EQ, GT)
new_esEs16(GT, EQ)
new_esEs13(x0, x1, ty_Double)
new_compare33(x0, x1, x2, x3, ty_Integer)
new_esEs5(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_esEs13(x0, x1, ty_Bool)
new_compare25(x0, x1, False, x2, x3)
new_esEs26(x0, x1, ty_Float)
new_lt12(x0, x1, app(app(ty_@2, x2), x3))
new_esEs5(Left(x0), Left(x1), ty_Double, x2)
new_primCmpFloat(Float(x0, x1), Float(x2, x3))
new_esEs38(x0, x1, app(app(ty_Either, x2), x3))
new_esEs31(x0, x1, ty_Ordering)
new_esEs10(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs26(x0, x1, app(app(ty_@2, x2), x3))
new_esEs15(x0, x1, app(ty_[], x2))
new_esEs33(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs4(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_ltEs19(x0, x1, ty_Int)
new_primPlusNat0(Succ(x0), x1)
new_esEs33(x0, x1, ty_@0)
new_esEs32(x0, x1, app(app(ty_@2, x2), x3))
new_esEs15(x0, x1, ty_Double)
new_ltEs10(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_ltEs4(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_ltEs18(x0, x1, app(app(ty_Either, x2), x3))
new_compare15(:%(x0, x1), :%(x2, x3), ty_Int)
new_ltEs10(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_esEs34(x0, x1, ty_Integer)
new_primEqInt(Pos(Zero), Pos(Zero))
new_lt11(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_esEs34(x0, x1, app(ty_Ratio, x2))
new_lt13(x0, x1, ty_Float)
new_esEs4(Just(x0), Just(x1), ty_Ordering)
new_ltEs19(x0, x1, ty_Double)
new_esEs31(x0, x1, ty_Char)
new_esEs12(x0, x1, app(ty_Maybe, x2))
new_esEs26(x0, x1, ty_Bool)
new_lt20(x0, x1, ty_Bool)
new_primCmpChar(Char(x0), Char(x1))
new_esEs19(@0, @0)
new_esEs5(Left(x0), Left(x1), app(ty_[], x2), x3)
new_primCmpNat0(Succ(x0), Zero)
new_lt12(x0, x1, app(ty_[], x2))
new_lt13(x0, x1, ty_@0)
new_esEs13(x0, x1, app(ty_[], x2))
new_primCompAux00(x0, x1, EQ, app(ty_[], x2))
new_esEs9(x0, x1, app(ty_Ratio, x2))
new_esEs8(x0, x1, ty_Double)
new_esEs5(Left(x0), Left(x1), ty_Int, x2)
new_lt20(x0, x1, ty_Int)
new_ltEs17(x0, x1)
new_primCmpInt(Pos(Succ(x0)), Pos(x1))
new_primPlusNat0(Zero, x0)
new_esEs13(x0, x1, ty_Ordering)
new_esEs35(x0, x1, ty_@0)

We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs: